- putw(CORE_MAGIC, file);
-
- putw(VERSION_CORE_ENTRY_TYPE_CODE, file);
- putw(3, file);
- putw(SBCL_CORE_VERSION_INTEGER, file);
-
- putw(NEW_DIRECTORY_CORE_ENTRY_TYPE_CODE, file);
- putw((5*3)+2, file);
+ write_lispobj(CORE_MAGIC, file);
+
+ write_lispobj(VERSION_CORE_ENTRY_TYPE_CODE, file);
+ write_lispobj(3, file);
+ write_lispobj(SBCL_CORE_VERSION_INTEGER, file);
+
+ write_lispobj(BUILD_ID_CORE_ENTRY_TYPE_CODE, file);
+ write_lispobj(/* (We're writing the word count of the entry here, and the 2
+ * term is one word for the leading BUILD_ID_CORE_ENTRY_TYPE_CODE
+ * word and one word where we store the count itself.) */
+ 2 + strlen(build_id),
+ file);
+ {
+ char *p;
+ for (p = build_id; *p; ++p)
+ write_lispobj(*p, file);
+ }