/*
- * 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.8 2000-09-05 14:04:05 adam
+ * Updates for prefix 'yaz_' for YAZ log functions.
+ *
+ * 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.
*
*/
#include <assert.h>
#include <ctype.h>
-#include <util.h>
+#include <zebrautl.h>
char *prog;
{
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)
{
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);
+ yaz_log_init (yaz_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);
}
}
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);
}
}
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';