Sorry, the patch has the issue, that the two members "type" and "size" are mixed up.
Here is a corrected patch:

<verbatim>

--- Wed Jan 22 20:53:52 2020
+++ Fri Apr 17 10:20:20 2020
@@ -306,20 +306,20 @@

 #  endif /* !LOADED_CVFS_COMMON */}
 puts ""

 puts "static struct cvfs_data = {"
 puts "\t{"
 puts Index 0 cannot be used because we use the value 0 to represent failure */"
-puts = NULL,"
-puts = 0,"
-puts = 0,"
-puts = 0,"
-puts = NULL,"
-puts = 0,"
+puts name  */ NULL,"
+puts index */ 0,"
+puts size  */ 0,"
+puts type  */ 0,"
+puts data  */ NULL,"
+puts free  */ 0,"
 puts "\t},"
 for {set idx 1} {$idx < [llength $files]} {incr idx} {
     set file [lindex $files $idx]
     set shortfile [shorten_file $startdir $file]

     unset -nocomplain finfo type
     file stat $file finfo
@@ -345,20 +345,20 @@
             set type "CVFS_FILETYPE_DIR"
             set data "NULL"
             set size 0
         }
     }

     puts "\t{"
-    puts =
-    puts = $idx,"
-    puts = $type,"
-    puts = $size,"
-    puts = $data,"
-    puts = 0,"
+    puts name  */
+    puts index */ $idx,"
+    puts size  */ $size,"
+    puts type  */ $type,"
+    puts data  */ $data,"
+    puts free  */ 0,"
     puts "\t},"
 }
 puts "};"
 puts ""

 puts "static unsigned long ${code_tag}_lookup_index(const char *path) {"
 puts "\tswitch (cvfs_hash((unsigned char *) path)) {"

</verbatim>