Fixed memory leak for safari filter
[idzebra-moved-to-github.git] / index / rpnsearch.c
index d07bf3f..c3d0544 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: rpnsearch.c,v 1.21 2007-11-08 21:21:58 adam Exp $
+/* $Id: rpnsearch.c,v 1.24 2007-11-30 12:19:08 adam Exp $
    Copyright (C) 1995-2007
    Index Data ApS
 
@@ -987,7 +987,7 @@ static ZEBRA_RES string_term(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
     int relation_error;
     char ord_buf[32];
     int ord_len, i;
-    zebra_map_t zm = zebra_map_get(zh->reg->zebra_maps, index_type);
+    zebra_map_t zm = zebra_map_get_or_add(zh->reg->zebra_maps, index_type);
 
     *ol = ord_list_create(stream);
 
@@ -1137,7 +1137,7 @@ static ZEBRA_RES string_term(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
     {
         WRBUF pr_wr = wrbuf_alloc();
 
-        wrbuf_verbose_str(pr_wr, wrbuf_buf(term_dict), wrbuf_len(term_dict));
+        wrbuf_write_escaped(pr_wr, wrbuf_buf(term_dict), wrbuf_len(term_dict));
         yaz_log(YLOG_LOG, "dict_lookup_grep: %s", wrbuf_cstr(pr_wr));
         wrbuf_destroy(pr_wr);
     }
@@ -1319,7 +1319,7 @@ static ZEBRA_RES rpn_search_APT_position(ZebraHandle zh,
     int ord_len;
     char *val;
     ISAM_P isam_p;
-    zebra_map_t zm = zebra_map_get(zh->reg->zebra_maps, index_type);
+    zebra_map_t zm = zebra_map_get_or_add(zh->reg->zebra_maps, index_type);
     
     attr_init_APT(&position, zapt, 3);
     position_value = attr_find(&position, NULL);
@@ -1678,7 +1678,7 @@ static ZEBRA_RES numeric_term(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
     int relation_error = 0;
     int ord, ord_len, i;
     char ord_buf[32];
-    zebra_map_t zm = zebra_map_get(zh->reg->zebra_maps, index_type);
+    zebra_map_t zm = zebra_map_get_or_add(zh->reg->zebra_maps, index_type);
     
     *ol = ord_list_create(stream);
 
@@ -2143,7 +2143,7 @@ static ZEBRA_RES rpn_search_database(ZebraHandle zh,
 static ZEBRA_RES rpn_search_APT(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
                                const Odr_oid *attributeSet, NMEM stream,
                                Z_SortKeySpecList *sort_sequence,
-                               int num_bases, char **basenames, 
+                               int num_bases, const char **basenames, 
                                NMEM rset_nmem,
                                RSET *rset,
                                struct rset_key_control *kc)
@@ -2313,7 +2313,7 @@ static ZEBRA_RES rpn_search_structure(ZebraHandle zh, Z_RPNStructure *zs,
                                      const Odr_oid *attributeSet, 
                                      NMEM stream, NMEM rset_nmem,
                                      Z_SortKeySpecList *sort_sequence,
-                                     int num_bases, char **basenames,
+                                     int num_bases, const char **basenames,
                                      RSET **result_sets, int *num_result_sets,
                                      Z_Operator *parent_op,
                                      struct rset_key_control *kc);
@@ -2353,7 +2353,7 @@ ZEBRA_RES rpn_search_top(ZebraHandle zh, Z_RPNStructure *zs,
                         const Odr_oid *attributeSet, 
                         NMEM stream, NMEM rset_nmem,
                         Z_SortKeySpecList *sort_sequence,
-                        int num_bases, char **basenames,
+                        int num_bases, const char **basenames,
                         RSET *result_set)
 {
     RSET *result_sets = 0;
@@ -2390,7 +2390,7 @@ ZEBRA_RES rpn_search_structure(ZebraHandle zh, Z_RPNStructure *zs,
                               const Odr_oid *attributeSet, 
                               NMEM stream, NMEM rset_nmem,
                               Z_SortKeySpecList *sort_sequence,
-                              int num_bases, char **basenames,
+                              int num_bases, const char **basenames,
                               RSET **result_sets, int *num_result_sets,
                               Z_Operator *parent_op,
                               struct rset_key_control *kc)