Avoid writing out empty array if we have no _get_type functions
authorColin Walters <walters@verbum.org>
Fri, 3 Apr 2009 19:12:04 +0000 (15:12 -0400)
committerColin Walters <walters@verbum.org>
Fri, 3 Apr 2009 19:15:29 +0000 (15:15 -0400)
Zero length arrays are a GNU C extension, so this way we don't
fail on non-GCC.

giscanner/dumper.py

index c8f9927..8b85ae5 100644 (file)
@@ -99,18 +99,18 @@ class DumpCompiler(object):
         # We need to reference our get_type functions to make sure they are
         # pulled in at the linking stage if the library is a static library
         # rather than a shared library.
-        for func in self._get_type_functions:
-            f.write("extern GType " + func + "(void);\n")
-        f.write("GType (*GI_GET_TYPE_FUNCS_[])(void) = {\n")
-        first = True
-        for func in self._get_type_functions:
-            if first:
-                first = False
-            else:
-                f.write(",\n")
-            f.write("  " + func)
-        f.write("\n};\n")
-
+        if len(self._get_type_functions) > 0:
+            for func in self._get_type_functions:
+                f.write("extern GType " + func + "(void);\n")
+            f.write("GType (*GI_GET_TYPE_FUNCS_[])(void) = {\n")
+            first = True
+            for func in self._get_type_functions:
+                if first:
+                    first = False
+                else:
+                    f.write(",\n")
+                f.write("  " + func)
+            f.write("\n};\n")
         f.close()
 
         o_path = self._generate_tempfile('.o')