+ * Ensure the output file name has a .hlp extension. This is
+ * required since we must create the .cnt file in parallel with
+ * it.
+ */
+ {
+ int len = strlen(filename);
+ if (len < 4 || filename[len-4] != '.' ||
+ tolower(filename[len-3] != 'h') ||
+ tolower(filename[len-2] != 'l') ||
+ tolower(filename[len-1] != 'p')) {
+ char *newf;
+ newf = mknewa(char, len + 5);
+ sprintf(newf, "%s.hlp", filename);
+ sfree(filename);
+ filename = newf;
+ len = strlen(newf);
+ }
+ cntname = mknewa(char, len);
+ sprintf(cntname, "%.*s.cnt", len-4, filename);
+ }
+
+ state.cntfp = fopen(cntname, "wb");
+ state.cnt_last_level = -1; state.cnt_workaround = 0;
+
+ /*