+ ret.filename = dupstr(adv(p->origkeyword));
+ } else if (!ustricmp(p->keyword, L"info-charset")) {
+ ret.charset = charset_from_ustr(&p->fpos, uadv(p->keyword));
+ } else if (!ustricmp(p->keyword, L"info-max-file-size")) {
+ ret.maxfilesize = utoi(uadv(p->keyword));
+ } else if (!ustricmp(p->keyword, L"info-width")) {
+ ret.width = utoi(uadv(p->keyword));
+ } else if (!ustricmp(p->keyword, L"info-indent-code")) {
+ ret.indent_code = utoi(uadv(p->keyword));
+ } else if (!ustricmp(p->keyword, L"info-index-width")) {
+ ret.index_width = utoi(uadv(p->keyword));
+ } else if (!ustricmp(p->keyword, L"info-list-indent")) {
+ ret.listindentbefore = utoi(uadv(p->keyword));
+ } else if (!ustricmp(p->keyword, L"info-listitem-indent")) {
+ ret.listindentafter = utoi(uadv(p->keyword));
+ } else if (!ustricmp(p->keyword, L"info-section-suffix")) {
+ ret.sectsuffix = uadv(p->keyword);
+ } else if (!ustricmp(p->keyword, L"info-underline")) {
+ ret.atitle.underline = ret.achapter.underline =
+ uadv(p->keyword);
+ for (n = 0; n < ret.nasect; n++)
+ ret.asect[n].underline = ret.atitle.underline;
+ } else if (!ustricmp(p->keyword, L"info-chapter-underline")) {
+ ret.achapter.underline = uadv(p->keyword);
+ } else if (!ustricmp(p->keyword, L"info-section-underline")) {
+ wchar_t *q = uadv(p->keyword);
+ int n = 0;
+ if (uisdigit(*q)) {
+ n = utoi(q);
+ q = uadv(q);
+ }
+ if (n >= ret.nasect) {
+ int i;
+ ret.asect = sresize(ret.asect, n+1, alignstruct);
+ for (i = ret.nasect; i <= n; i++)
+ ret.asect[i] = ret.asect[ret.nasect-1];
+ ret.nasect = n+1;
+ }
+ ret.asect[n].underline = q;
+ } else if (!ustricmp(p->keyword, L"text-title-underline")) {
+ ret.atitle.underline = uadv(p->keyword);
+ } else if (!ustricmp(p->keyword, L"info-bullet")) {
+ ret.bullet = uadv(p->keyword);
+ } else if (!ustricmp(p->keyword, L"info-rule")) {
+ ret.rule = uadv(p->keyword);
+ } else if (!ustricmp(p->keyword, L"info-list-suffix")) {
+ ret.listsuffix = uadv(p->keyword);
+ } else if (!ustricmp(p->keyword, L"info-emphasis")) {
+ if (*uadv(p->keyword) && *uadv(uadv(p->keyword))) {
+ ret.startemph = uadv(p->keyword);
+ ret.endemph = uadv(ret.startemph);
+ }
+ } else if (!ustricmp(p->keyword, L"info-quotes")) {
+ if (*uadv(p->keyword) && *uadv(uadv(p->keyword))) {
+ ret.lquote = uadv(p->keyword);
+ ret.rquote = uadv(ret.lquote);
+ }