sfree(ret.filename);
ret.filename = dupstr(adv(p->origkeyword));
} else if (!ustricmp(p->keyword, L"info-charset")) {
- char *csname = utoa_dup(uadv(p->keyword), CS_ASCII);
- ret.charset = charset_from_localenc(csname);
- sfree(csname);
+ 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")) {
currnode = newnode;
}
break;
+ default:
+ p->private_data = NULL;
+ break;
}
/*
indexentry *entry;
for (i = 0; (entry = index234(idx->entries, i)) != NULL; i++) {
- info_idx *ii = mknew(info_idx);
+ info_idx *ii = snew(info_idx);
info_data id = EMPTY_INFO_DATA;
id.charset = conf.charset;
if (fp)
fclose(fp);
- fname = mknewa(char, strlen(conf.filename) + 40);
+ fname = snewn(strlen(conf.filename) + 40, char);
sprintf(fname, "%s-%d", conf.filename, filenum);
fp = fopen(fname, "w");
if (!fp) {
if (ii->nnodes >= ii->nodesize) {
ii->nodesize += 32;
- ii->nodes = resize(ii->nodes, ii->nodesize);
+ ii->nodes = sresize(ii->nodes, ii->nodesize, node *);
}
ii->nodes[ii->nnodes++] = n;
* In Info, we do nothing special for xrefs to
* numbered list items or bibliography entries.
*/
- break;
+ continue;
} else {
/*
* An xref to a different section has its text
{
node *n;
- n = mknew(node);
+ n = snew(node);
n->text = empty_info_data;
n->text.charset = charset;
n->up = n->next = n->prev = n->lastchild = n->listnext = NULL;