From b5645502823c72194418002e43f9eff9f868f773 Mon Sep 17 00:00:00 2001
From: zy69guqi <richard.angersbach@fau.de>
Date: Wed, 12 Mar 2025 17:02:04 +0100
Subject: [PATCH] Fix emission of hybrid header includes

---
 src/pystencilssfg/emission/file_printer.py | 6 +-----
 src/pystencilssfg/generator.py             | 5 ++---
 2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/src/pystencilssfg/emission/file_printer.py b/src/pystencilssfg/emission/file_printer.py
index b2f6692..ed1c073 100644
--- a/src/pystencilssfg/emission/file_printer.py
+++ b/src/pystencilssfg/emission/file_printer.py
@@ -49,7 +49,7 @@ class SfgFilePrinter:
 
         if file.file_type == SfgSourceFileType.HYBRID_HEADER:
             hybrid_includes = ""
-            for header in file.includes:
+            for header in file.hybrid_includes:
                 incl = str(header) if header.system_header else f'"{str(header)}"'
                 hybrid_includes += f"#include {incl}\n"
 
@@ -63,10 +63,6 @@ class SfgFilePrinter:
         else:
             code += includes
 
-        for header in file.hybrid_includes:
-            incl = str(header) if header.system_header else f'"{str(header)}"'
-            code += f"#include {incl}\n"
-
         if file.includes:
             code += "\n"
 
diff --git a/src/pystencilssfg/generator.py b/src/pystencilssfg/generator.py
index b3916f4..8f720b4 100644
--- a/src/pystencilssfg/generator.py
+++ b/src/pystencilssfg/generator.py
@@ -176,9 +176,8 @@ class SourceFileGenerator:
 
             for inc in self._header_file.includes:
                 if inc.system_header and inc.__str__() in c_compatibility_headers:
-                    c_header = inc.__str__().replace("<c", "<")
-                    self._header_file.hybrid_includes += [HeaderFile(
-                        c_header, system_header=True)]
+                    c_header = inc.__str__().replace("<c", "<").replace(">", ".h>")
+                    self._header_file.hybrid_includes += [HeaderFile.parse(c_header)]
 
         if self._impl_file is not None:
             impl_includes = collect_includes(self._impl_file)
-- 
GitLab