X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=dict%2Fdictext.c;h=09c41987dc553b6ac2c89893962cac74ad60514a;hb=1b1c0452f350e2a499535f40540f0d3a034a9738;hp=cec18452f8c97a5b698976c7b4763ac2bf06d5bc;hpb=0035afa7de3e06c18bf2f559649f34913114ab46;p=idzebra-moved-to-github.git diff --git a/dict/dictext.c b/dict/dictext.c index cec1845..09c4198 100644 --- a/dict/dictext.c +++ b/dict/dictext.c @@ -1,10 +1,28 @@ /* - * Copyright (C) 1994, Index Data I/S + * Copyright (C) 1994-1999, Index Data * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: dictext.c,v $ - * Revision 1.1 1994-09-16 15:39:11 adam + * Revision 1.7 1999-02-02 14:50:18 adam + * Updated WIN32 code specific sections. Changed header. + * + * 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 + * Use log_mask_str now. + * + * Revision 1.1 1994/09/16 15:39:11 adam * Initial code of lookup - not tested yet. * */ @@ -15,7 +33,7 @@ #include #include -#include +#include char *prog; @@ -23,12 +41,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) { @@ -36,23 +55,25 @@ 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); } } else if (ret == 'v') { - log_init (atoi(arg), prog, NULL); + log_init (log_mask_str(arg), prog, NULL); } 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"); + logf (LOG_FATAL, "Unknown option '-%s'", arg); exit (1); } } @@ -61,7 +82,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); } } @@ -70,11 +91,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';