X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=dict%2Fdictext.c;h=76ac8967a64b4d85e0290aa54a0b820f0cde1305;hb=70961362d71c04daaf0b0feafe59e78d235eb116;hp=ebace7ac6d98d0e070290ef988d2714afc331d0a;hpb=1b29b77f09ae310c41f9cd0a6eeea2d562b7729e;p=idzebra-moved-to-github.git diff --git a/dict/dictext.c b/dict/dictext.c index ebace7a..76ac896 100644 --- a/dict/dictext.c +++ b/dict/dictext.c @@ -4,7 +4,16 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: dictext.c,v $ - * Revision 1.3 1994-10-04 17:46:54 adam + * Revision 1.6 1996-10-29 14:00:02 adam + * Page size given by DICT_DEFAULT_PAGESIZE in dict.h. + * + * Revision 1.5 1996/01/31 21:03:59 adam + * Extra options. + * + * Revision 1.4 1995/09/04 12:33:31 adam + * Various cleanup. YAZ util used instead. + * + * Revision 1.3 1994/10/04 17:46:54 adam * Function options now returns arg with error option. * * Revision 1.2 1994/09/28 13:07:08 adam @@ -21,7 +30,7 @@ #include #include -#include +#include char *prog; @@ -29,12 +38,13 @@ int main (int argc, char **argv) { char *arg; int ret; + int use8 = 0; char *inputfile = NULL; FILE *ipf = stdin; char ipf_buf[1024]; prog = *argv; - while ((ret = options ("vh", argv, argc, &arg)) != -2) + while ((ret = options ("8vh", argv, argc, &arg)) != -2) { if (ret == 0) { @@ -42,7 +52,7 @@ int main (int argc, char **argv) inputfile = arg; else { - log (LOG_FATAL, "too many files specified\n"); + logf (LOG_FATAL, "too many files specified\n"); exit (1); } } @@ -53,12 +63,14 @@ int main (int argc, char **argv) else if (ret == 'h') { fprintf (stderr, "usage:\n" - " %s [-h] [-v n] [file]\n", prog); + " %s [-8] [-h] [-v n] [file]\n", prog); exit (1); } + else if (ret == '8') + use8 = 1; else { - log (LOG_FATAL, "Unknown option '-%s'", arg); + logf (LOG_FATAL, "Unknown option '-%s'", arg); exit (1); } } @@ -67,7 +79,7 @@ int main (int argc, char **argv) ipf = fopen (inputfile, "r"); if (!ipf) { - log (LOG_FATAL|LOG_ERRNO, "cannot open '%s'", inputfile); + logf (LOG_FATAL|LOG_ERRNO, "cannot open '%s'", inputfile); exit (1); } } @@ -76,11 +88,14 @@ int main (int argc, char **argv) char *ipf_ptr = ipf_buf; for (;*ipf_ptr && *ipf_ptr != '\n';ipf_ptr++) { - if (isalpha(*ipf_ptr) || *ipf_ptr == '_') + if ((use8 && *ipf_ptr<0) + || (*ipf_ptr > 0 && isalpha(*ipf_ptr)) + || *ipf_ptr == '_') { int i = 1; - while (ipf_ptr[i] && (isalnum(ipf_ptr[i]) || - ipf_ptr[i] == '_')) + while (ipf_ptr[i] && ((use8 && ipf_ptr[i] < 0) + || (ipf_ptr[i]>0 && isalnum(ipf_ptr[i])) + || ipf_ptr[i] == '_')) i++; if (ipf_ptr[i]) ipf_ptr[i++] = '\0';