Infrastructure changes for character set support. ustrtoa,
[sgt/halibut] / bk_xhtml.c
index 4b9b98c..4d5069a 100644 (file)
@@ -192,19 +192,19 @@ static xhtmlconfig xhtml_configure(paragraph *source)
     {
       if (!ustricmp(source->keyword, L"xhtml-contents-filename")) {
        sfree(ret.contents_filename);
-       ret.contents_filename = utoa_dup(uadv(source->keyword));
+       ret.contents_filename = dupstr(adv(source->origkeyword));
       } else if (!ustricmp(source->keyword, L"xhtml-single-filename")) {
        sfree(ret.single_filename);
-       ret.single_filename = utoa_dup(uadv(source->keyword));
+       ret.single_filename = dupstr(adv(source->origkeyword));
       } else if (!ustricmp(source->keyword, L"xhtml-index-filename")) {
        sfree(ret.index_filename);
-       ret.index_filename = utoa_dup(uadv(source->keyword));
+       ret.index_filename = dupstr(adv(source->origkeyword));
       } else if (!ustricmp(source->keyword, L"xhtml-template-filename")) {
        sfree(ret.template_filename);
-       ret.template_filename = utoa_dup(uadv(source->keyword));
+       ret.template_filename = dupstr(adv(source->origkeyword));
       } else if (!ustricmp(source->keyword, L"xhtml-template-fragment")) {
        sfree(ret.template_fragment);
-       ret.template_fragment = utoa_dup(uadv(source->keyword));
+       ret.template_fragment = utoa_dup(uadv(source->keyword), CS_ASCII);
       } else if (!ustricmp(source->keyword, L"xhtml-contents-depth-0")) {
         ret.contents_depth[0] = utoi(uadv(source->keyword));
       } else if (!ustricmp(source->keyword, L"xhtml-contents-depth-1")) {
@@ -304,45 +304,12 @@ paragraph *xhtml_config_filename(char *filename)
      * \cfg{xhtml-leaf-level}{0}; the rationale being that the user
      * wants their output _in that file_.
      */
+    paragraph *p, *q;
 
-    paragraph *p[2];
-    int i, len;
-    wchar_t *ufilename, *up;
-
-    for (i = 0; i < 2; i++) {
-       p[i] = mknew(paragraph);
-       memset(p[i], 0, sizeof(*p[i]));
-       p[i]->type = para_Config;
-       p[i]->next = NULL;
-       p[i]->fpos.filename = "<command line>";
-       p[i]->fpos.line = p[i]->fpos.col = -1;
-    }
-
-    ufilename = ufroma_dup(filename);
-    len = ustrlen(ufilename) + 2 + lenof(L"xhtml-single-filename");
-    p[0]->keyword = mknewa(wchar_t, len);
-    up = p[0]->keyword;
-    ustrcpy(up, L"xhtml-single-filename");
-    up = uadv(up);
-    ustrcpy(up, ufilename);
-    up = uadv(up);
-    *up = L'\0';
-    assert(up - p[0]->keyword < len);
-    sfree(ufilename);
-
-    len = lenof(L"xhtml-leaf-level") + lenof(L"0") + 1;
-    p[1]->keyword = mknewa(wchar_t, len);
-    up = p[1]->keyword;
-    ustrcpy(up, L"xhtml-leaf-level");
-    up = uadv(up);
-    ustrcpy(up, L"0");
-    up = uadv(up);
-    *up = L'\0';
-    assert(up - p[1]->keyword < len);
-
-    p[0]->next = p[1];
-
-    return p[0];
+    p = cmdline_cfg_simple("xhtml-single-filename", filename, NULL);
+    q = cmdline_cfg_simple("xhtml-leaf-level", "0", NULL);
+    p->next = q;
+    return p;
 }
 
 static xhtmlsection *xhtml_new_section(xhtmlsection *last)