Avoid memory overruns for big regular expressions
[idzebra-moved-to-github.git] / index / zebraapi.c
index 2a43bc9..25bcd66 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: zebraapi.c,v 1.95 2003-03-26 00:02:05 adam Exp $
+/* $Id: zebraapi.c,v 1.97 2003-04-02 18:46:13 adam Exp $
    Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003
    Index Data Aps
 
@@ -241,6 +241,7 @@ struct zebra_register *zebra_register_open (ZebraService zs, const char *name,
     
     zebraRankInstall (reg, rank1_class);
     zebraRankInstall (reg, rankzv_class);
+    zebraRankInstall (reg, rankliv_class);
 
     recordCompression = res_get_def (res, "recordCompression", "none");
     if (!strcmp (recordCompression, "none"))
@@ -753,6 +754,9 @@ void zebra_search_rpn (ZebraHandle zh, ODR decode, ODR stream,
 
     if (zebra_begin_read (zh))
        return;
+
+    zebra_livcode_transform(zh, query);
+
     resultSetAddRPN (zh, decode, stream, query, 
                      zh->num_basenames, zh->basenames, setname);
 
@@ -1586,7 +1590,7 @@ void zebra_set_resource(ZebraHandle zh, const char *name, const char *value)
 }
 
 const char *zebra_get_resource(ZebraHandle zh,
-                               const char *name, const char *defaultvalue)
+                               const char *name, const char *defaultvalue)
 {
     ASSERTZH;
     zh->errCode=0;
@@ -1796,7 +1800,7 @@ int zebra_insert_record (ZebraHandle zh,
                         const char *recordType,
                         int sysno, const char *match, const char *fname,
                         const char *buf, int buf_size,
-                        int force_update) // This one is ignored
+                        int force_update) /* This one is ignored */
  
 {
     int res;
@@ -1805,13 +1809,13 @@ int zebra_insert_record (ZebraHandle zh,
 
     zebra_begin_trans(zh, 1);
     res=bufferExtractRecord (zh, buf, buf_size, rGroup, 
-                            0, // delete_flag 
-                            0, // test_mode,
+                            0, /* delete_flag  */
+                            0, /* test_mode */
                             recordType,
                             &sysno,   
                             match, fname,
                             force_update, 
-                            0); // allow_update     
+                            0); /* allow_update */
     zebra_end_trans(zh); 
     if (res < 0) return (res);
     return sysno; 
@@ -1831,13 +1835,13 @@ int zebra_update_record (ZebraHandle zh,
 
     zebra_begin_trans(zh, 1);
     res=bufferExtractRecord (zh, buf, buf_size, rGroup, 
-                            0, // delete_flag 
-                            0, // test_mode,
+                            0, /* delete_flag */
+                            0, /* test_mode */
                             recordType,
                             &sysno,   
                             match, fname,
                             force_update, 
-                            1); // allow_update    
+                            1); /* allow_update */
     zebra_end_trans(zh); 
     return sysno; 
 }
@@ -1857,13 +1861,13 @@ int zebra_delete_record (ZebraHandle zh,
 
     zebra_begin_trans(zh, 1);
     res=bufferExtractRecord (zh, buf, buf_size, rGroup, 
-                            1, // delete_flag
-                            0, // test_mode, 
+                            1, /* delete_flag */
+                            0, /* test_mode */
                             recordType,
                             &sysno,
                             match,fname,
                             force_update,
-                            1); // allow_update    
+                            1); /* allow_update */
     zebra_end_trans(zh);
     return sysno;   
 }