diff options
| author | Simon Tatham <anakin@pobox.com> | 2004-04-01 17:22:56 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2004-04-01 17:22:56 +0000 |
| commit | 02299a79f1d552580bf7b660251f79ec7f479a23 (patch) | |
| tree | c23cc603f6acca910facef31a2b79c3794da5cab /bk_text.c | |
| parent | af770784f1153b346a550363406c57b58d4c2552 (diff) | |
| download | halibut-02299a79f1d552580bf7b660251f79ec7f479a23.zip halibut-02299a79f1d552580bf7b660251f79ec7f479a23.tar.gz halibut-02299a79f1d552580bf7b660251f79ec7f479a23.tar.bz2 halibut-02299a79f1d552580bf7b660251f79ec7f479a23.tar.xz | |
Arrange a mechanism whereby each backend can be passed a filename
from its command-line option (`--text=foo.txt') and automatically
convert it into one or more notional \cfg directives. In the HTML
case this mechanism enables single-file mode as well as setting the
filename.
[originally from svn r4018]
Diffstat (limited to 'bk_text.c')
| -rw-r--r-- | bk_text.c | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -180,6 +180,34 @@ static textconfig text_configure(paragraph *source) { return ret; } +paragraph *text_config_filename(char *filename) +{ + paragraph *p; + wchar_t *ufilename, *up; + int len; + + p = mknew(paragraph); + memset(p, 0, sizeof(*p)); + p->type = para_Config; + p->next = NULL; + p->fpos.filename = "<command line>"; + p->fpos.line = p->fpos.col = -1; + + ufilename = ufroma_dup(filename); + len = ustrlen(ufilename) + 2 + lenof(L"text-filename"); + p->keyword = mknewa(wchar_t, len); + up = p->keyword; + ustrcpy(up, L"text-filename"); + up = uadv(up); + ustrcpy(up, ufilename); + up = uadv(up); + *up = L'\0'; + assert(up - p->keyword < len); + sfree(ufilename); + + return p; +} + void text_backend(paragraph *sourceform, keywordlist *keywords, indexdata *idx) { paragraph *p; |