diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/word2x/rtest2.cc |
Initial commit
Diffstat (limited to 'support/word2x/rtest2.cc')
-rw-r--r-- | support/word2x/rtest2.cc | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/support/word2x/rtest2.cc b/support/word2x/rtest2.cc new file mode 100644 index 0000000000..d1403702e5 --- /dev/null +++ b/support/word2x/rtest2.cc @@ -0,0 +1,113 @@ +/* $Id: rtest2.cc,v 1.8 1997/04/13 12:59:00 dps Exp $ */ +/* Reader test program */ + +#include <stdio.h> +#include <stdlib.h> +#include <iostream.h> +#include "strip.h" +#include "interface.h" + +/* Dummy to just read the files out */ +void reader_test_raw(istream *f) +{ + const char *s; + const tok_seq::tok *d; + tok_seq rd(f); + static const char null[]={ '\0' }; + + while ((d=rd.read_token())!=NULL) + { + + printf((d->end==tok_seq::tok::TOK_START) ? "<" : "</"); + if (d->tokval!=T_TABLE) + { + s=(d->data.d==NULL) ? null : d->data.d; + } + + switch(d->tokval) + { + case T_TABLE: + printf("TABLE %d x %d>\n", d->data.table.cols, d->data.table.rows); + break; + + case T_PARAGRAPH: + printf("PARAGRAPH>%s\n\n", s); + break; + + case T_FIELD: + printf("FIELD>%s", s); + break; + + case T_ROW: + printf("ROW>%s\n", s); + break; + + case T_SPEC: + printf("SPEC>%s", s); + break; + + case T_LIST: + printf("LIST>%s\n", s); + break; + + case T_ITEM: + printf("ITEM>%s\n", s); + break; + + case T_DOC: + printf("DOCUMENT>%s", s); + break; + + case T_CODE: + fputs("CODE ", stdout); + switch(*s) + { + case CH_PAGE: + fputs("page break", stdout); + break; + + case CH_FOOTNOTE: + fputs("footnote", stdout); + break; + + default: + printf("unexpected value %d", *s); + break; + } + puts(">"); + break; + + case T_OTHER: + printf("OTHER>%s\n", s); + break; + + default: + printf("?>%s\n", s); + break; + } + fflush(stdout); + } +} + + +int main(int argc, const char **argv) +{ + FILE *f; + + argc=argc; + f=fopen(argv[1],"r"); + if (f==NULL) + { + fprintf(stderr,"%s not found\n", argv[1]); + exit(1); + } + else + { + fclose(f); + word_junk_filter filt(argv[1]); + istream in(&filt); + reader_test_raw(&in); + } + return 0; +} + |