*/
#include <assert.h>
+#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
#include "halibut.h"
int bitfield, prebackend_bitfield;
} backends[] = {
{"text", text_backend, text_config_filename, 0x0001, 0},
- {"xhtml", xhtml_backend, xhtml_config_filename, 0x0002, 0},
- {"html", xhtml_backend, xhtml_config_filename, 0x0002, 0},
+ {"xhtml", html_backend, html_config_filename, 0x0002, 0},
+ {"html", html_backend, html_config_filename, 0x0002, 0},
{"hlp", whlp_backend, whlp_config_filename, 0x0004, 0},
{"whlp", whlp_backend, whlp_config_filename, 0x0004, 0},
{"winhelp", whlp_backend, whlp_config_filename, 0x0004, 0},
paragraph *cfg, *cfg_tail;
void *pre_backend_data[16];
+ setlocale(LC_ALL, "");
+
/*
* Set up initial (default) parameters.
*/
- infiles = mknewa(char *, argc);
+ infiles = snewn(argc, char *);
nfiles = 0;
nogo = errs = FALSE;
reportcols = 0;
in.pushback = NULL;
in.reportcols = reportcols;
in.stack = NULL;
- in.defcharset = CS_ASCII;
+ in.defcharset = charset_from_locale();
idx = make_index();
sfree(in.pushback);
- mark_attr_ends(sourceform);
-
sfree(infiles);
keywords = get_keywords(sourceform);
build_index(idx);
+ /*
+ * Set up attr_First / attr_Last / attr_Always, in the main
+ * document and in the index entries.
+ */
+ for (p = sourceform; p; p = p->next)
+ mark_attr_ends(p->words);
+ {
+ int i;
+ indexentry *entry;
+
+ for (i = 0; (entry = index234(idx->entries, i)) != NULL; i++)
+ mark_attr_ends(entry->text);
+ }
+
if (debug) {
index_debug(idx);
dbg_prtkws(keywords);