Server produces diagnostic "Unsupported Attribute Set" when appropriate.
[idzebra-moved-to-github.git] / index / kdump.c
index e83f88a..40ab26f 100644 (file)
@@ -4,7 +4,25 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: kdump.c,v $
- * Revision 1.9  1996-06-04 14:18:53  quinn
+ * Revision 1.14  1997-10-27 14:33:04  adam
+ * Moved towards generic character mapping depending on "structure"
+ * field in abstract syntax file. Fixed a few memory leaks. Fixed
+ * bug with negative integers when doing searches with relational
+ * operators.
+ *
+ * Revision 1.13  1997/09/09 13:38:07  adam
+ * Partial port to WIN95/NT.
+ *
+ * Revision 1.12  1997/09/05 09:52:32  adam
+ * Extra argument added to function chr_read_maptab (tab path).
+ *
+ * Revision 1.11  1996/10/29 14:06:49  adam
+ * Include zebrautl.h instead of alexutil.h.
+ *
+ * Revision 1.10  1996/06/04 14:56:12  quinn
+ * Fix
+ *
+ * Revision 1.9  1996/06/04  14:18:53  quinn
  * Charmap work
  *
  * Revision 1.8  1996/06/04  10:18:59  adam
  *
  */
 #include <stdio.h>
+#include <string.h>
 #include <assert.h>
+#ifdef WINDOWS
+#include <io.h>
+#else
 #include <unistd.h>
+#endif
 #include <assert.h>
 
-#include <alexutil.h>
 #include <charmap.h>
 #include "index.h"
 
@@ -112,13 +134,13 @@ int main (int argc, char **argv)
     char key_info[256];
     FILE *inf;
     struct it_key prevk;
-    chrmaptab *map = 0;
+    chrmaptab map = 0;
 
     prevk.sysno = 0;
     prevk.seqno = 0;
 
     prog = *argv;
-    while ((ret = options ("v:", argv, argc, &arg)) != -2)
+    while ((ret = options ("m:v:", argv, argc, &arg)) != -2)
     {
         if (ret == 0)
         {
@@ -130,7 +152,7 @@ int main (int argc, char **argv)
         }
        else if (ret == 'm')
        {
-           if (!(map = chr_read_maptab(arg)))
+           if (!(map = chrmaptab_create (NULL, arg, 0)))
            {
                logf(LOG_FATAL, "Failed to open maptab");
                exit(1);
@@ -166,7 +188,7 @@ int main (int argc, char **argv)
 
            while (*from)
            {
-               char *res = (char*)map->output[(unsigned char) *from];
+               char *res = chr_map_output(map, from, 1);
                while (*res)
                    *(to++) = *(res++);
            }
@@ -175,7 +197,7 @@ int main (int argc, char **argv)
        else
            strcpy(keybuf, key_string);
         printf ("%7d op=%d s=%-5d %s\n", k.sysno, op, k.seqno,
-                key_string);
+                keybuf);
     }
     if (fclose (inf))
     {