chiark / gitweb /
doxygen: save some bits.
authorVladimír Vondruš <mosra@centrum.cz>
Sun, 4 Feb 2018 21:19:34 +0000 (22:19 +0100)
committerVladimír Vondruš <mosra@centrum.cz>
Sun, 4 Feb 2018 22:56:27 +0000 (23:56 +0100)
doxygen/dox2html5.py
doxygen/test/test_search.py

index 92430de2c673cf0748228de7fc23dd20cd31f892..32fee0c93fd5f26eb754e4f2253b3fe5454d310e 100755 (executable)
@@ -288,8 +288,13 @@ class ResultMap:
             if e.flags & ResultFlag.HAS_SUFFIX:
                 offset += 1
 
-            # Length of name, URL and 0-delimiter
-            offset += len(e.name.encode('utf-8')) + len(e.url.encode('utf-8')) + 1
+            # Length of the name
+            offset += len(e.name.encode('utf-8'))
+
+            # Length of the URL and 0-delimiter. If URL is empty, it's not
+            # added at all, then the 0-delimiter is also not needed.
+            if e.name and e.url:
+                 offset += len(e.url.encode('utf-8')) + 1
 
         # Write file size
         output += self.offset_struct.pack(offset)
@@ -302,8 +307,9 @@ class ResultMap:
             if e.flags & ResultFlag.HAS_SUFFIX:
                 output += self.suffix_length_struct.pack(e.suffix_length)
             output += e.name.encode('utf-8')
-            output += b'\0'
-            output += e.url.encode('utf-8')
+            if e.url:
+                output += b'\0'
+                output += e.url.encode('utf-8')
 
         assert len(output) == offset
         return output
index 33428f5a7b732f73f3b2138fdba495074d518b78..f2837596cdfc665002f59ee5c70d827dcd40c5af 100755 (executable)
@@ -367,7 +367,7 @@ class Search(IntegrationTestCase):
             serialized = f.read()
             search_data_pretty = pretty_print(serialized)[0]
         #print(search_data_pretty)
-        self.assertEqual(len(serialized), 3712)
+        self.assertEqual(len(serialized), 3704)
         self.assertEqual(search_data_pretty, """
 deprecated_macro [0]
 ||        |     ($