From: Sebastian Hammer Date: Tue, 4 Jun 1996 14:18:52 +0000 (+0000) Subject: Charmap work X-Git-Tag: ZEBRA.1.0~430 X-Git-Url: http://git.indexdata.com/?a=commitdiff_plain;h=b8844c65622c12fb105bf7fc6bab2fc237af7c14;p=idzebra-moved-to-github.git Charmap work --- diff --git a/index/Makefile b/index/Makefile index b0adc49..0f6fc0a 100644 --- a/index/Makefile +++ b/index/Makefile @@ -1,7 +1,7 @@ # Copyright (C) 1995-1996, Index Data I/S # All rights reserved. # Sebastian Hammer, Adam Dickmeiss -# $Id: Makefile,v 1.38 1996-05-31 09:06:57 quinn Exp $ +# $Id: Makefile,v 1.39 1996-06-04 14:18:52 quinn Exp $ SHELL=/bin/sh RANLIB=ranlib @@ -37,7 +37,7 @@ $(TPROG1): $(O1) ../lib/dict.a ../lib/isam.a \ $(YAZLIB) $(TPROG2): $(O2) - $(CC) $(CFLAGS) -o $(TPROG2) $(O2) $(YAZLIB) + $(CC) $(CFLAGS) -o $(TPROG2) $(O2) ../lib/alexutil.a $(YAZLIB) $(TPROG3): $(O3) \ ../lib/rset.a ../lib/dict.a ../lib/isam.a ../lib/bfile.a \ diff --git a/index/kdump.c b/index/kdump.c index bef8c27..e83f88a 100644 --- a/index/kdump.c +++ b/index/kdump.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: kdump.c,v $ - * Revision 1.8 1996-06-04 10:18:59 adam + * Revision 1.9 1996-06-04 14:18:53 quinn + * Charmap work + * + * Revision 1.8 1996/06/04 10:18:59 adam * Minor changes - removed include of ctype.h. * * Revision 1.7 1995/10/10 12:24:38 adam @@ -37,6 +40,7 @@ #include #include +#include #include "index.h" char *prog; @@ -108,6 +112,7 @@ int main (int argc, char **argv) char key_info[256]; FILE *inf; struct it_key prevk; + chrmaptab *map = 0; prevk.sysno = 0; prevk.seqno = 0; @@ -123,6 +128,14 @@ int main (int argc, char **argv) { log_init (log_mask_str(arg), prog, NULL); } + else if (ret == 'm') + { + if (!(map = chr_read_maptab(arg))) + { + logf(LOG_FATAL, "Failed to open maptab"); + exit(1); + } + } else { logf (LOG_FATAL, "Unknown option '-%s'", arg); @@ -131,7 +144,7 @@ int main (int argc, char **argv) } if (!key_fname) { - fprintf (stderr, "kdump [-v log] file\n"); + fprintf (stderr, "kdump [-m maptab -v log] file\n"); exit (1); } if (!(inf = fopen (key_fname, "r"))) @@ -143,9 +156,24 @@ int main (int argc, char **argv) { struct it_key k; int op; + char keybuf[IT_MAX_WORD+1]; op = key_info[0]; memcpy (&k, 1+key_info, sizeof(k)); + if (map) + { + char *to = keybuf, *from = key_string; + + while (*from) + { + char *res = (char*)map->output[(unsigned char) *from]; + while (*res) + *(to++) = *(res++); + } + *to = '\0'; + } + else + strcpy(keybuf, key_string); printf ("%7d op=%d s=%-5d %s\n", k.sysno, op, k.seqno, key_string); }