+\r
+/* Similar to FpgaGatherVersion this formats stored version information\r
+ * into a string representation. It takes a pointer to the struct version_information,\r
+ * verifies the magic properties, then stores a formatted string, prefixed by\r
+ * prefix in dst.\r
+ */\r
+void FormatVersionInformation(char *dst, int len, const char *prefix, void *version_information)\r
+{\r
+ struct version_information *v = (struct version_information*)version_information;\r
+ dst[0] = 0;\r
+ strncat(dst, prefix, len);\r
+ if(v->magic != VERSION_INFORMATION_MAGIC) {\r
+ strncat(dst, "Missing/Invalid version information", len);\r
+ return;\r
+ }\r
+ if(v->versionversion != 1) {\r
+ strncat(dst, "Version information not understood", len);\r
+ return;\r
+ }\r
+ if(!v->present) {\r
+ strncat(dst, "Version information not available", len);\r
+ return;\r
+ }\r
+ \r
+ strncat(dst, v->svnversion, len);\r
+ if(v->clean == 0) {\r
+ strncat(dst, "-unclean", len);\r
+ } else if(v->clean == 2) {\r
+ strncat(dst, "-suspect", len);\r
+ }\r
+ \r
+ strncat(dst, " ", len);\r
+ strncat(dst, v->buildtime, len);\r
+}\r