objdictgen/gen_cfile.py
changeset 421 6221b4db8c42
parent 420 a42335b39bf4
child 422 43a4d6deb007
--- a/objdictgen/gen_cfile.py	Thu Mar 20 10:45:17 2008 +0100
+++ b/objdictgen/gen_cfile.py	Thu Mar 20 11:41:06 2008 +0100
@@ -231,7 +231,7 @@
                             if subIndex == len(values)-1:
                                 sep = ""
                             if typeinfos[2] == "visible_string":
-                                value = "\"%s\""%value
+                                value = "\"%s%s\""%(value, "\\0" * (default_string_size - len(value)))
                             elif typeinfos[2] == "domain":
                                 value = "\"%s\""%''.join(["\\x%2.2x"%ord(char) for char in value])
                             else:
@@ -248,7 +248,7 @@
                             if subIndex == len(values)-1:
                                 sep = ""
                             if typeinfos[2] == "visible_string":
-                                value = "\"%s\""%value
+                                value = "\"%s%s\""%(value, "\\0" * (default_string_size - len(value)))
                             elif typeinfos[2] == "domain":
                                 value = "\"%s\""%''.join(["\\x%2.2x"%ord(char) for char in value])
                             else:
@@ -272,7 +272,7 @@
                         else:
                             texts["suffixe"] = ""
                         if typeinfos[2] == "visible_string":
-                            texts["value"] = "\"%s\""%value
+                            texts["value"] = "\"%s%s\""%(value, "\\0" * (default_string_size - len(value)))
                             texts["comment"] = ""
                         elif typeinfos[2] == "domain":
                             texts["value"] = "\"%s\""%''.join(["\\x%2.2x"%ord(char) for char in value])
@@ -333,8 +333,10 @@
                     name = FormatName("%s_%s"%(entry_infos["name"],subentry_infos["name"]))
                 else:
                     name = "%s_obj%04X_%s"%(texts["NodeName"], texts["index"], FormatName(subentry_infos["name"]))
-            if typeinfos[2] in ["visible_string", "domain"]:
-                sizeof = typeinfos[1]
+            if typeinfos[2] == "visible_string":
+                sizeof = str(max(len(values[subIndex]), default_string_size))
+            elif typeinfos[2] == "domain":
+                sizeof = str(len(values[subIndex]))
             else:
                 sizeof = "sizeof (%s)"%typeinfos[0]
             params = Node.GetParamsEntry(index, subIndex)