+static void
+decg (void *data, char const *keyword, char const *value)
+{
+ struct keyword_list **kwl = data;
+ xheader_list_append (kwl, keyword, value);
+}
+
+void
+xheader_decode_global ()
+{
+ if (extended_header.size)
+ {
+ char *p = extended_header.buffer + BLOCKSIZE;
+ char *endp = &extended_header.buffer[extended_header.size-1];
+
+ xheader_list_destroy (&global_header_override_list);
+ while (p < endp)
+ if (!decode_record (&p, decg, &global_header_override_list))
+ break;
+ }
+}
+