Make codec routines static
[idzebra-moved-to-github.git] / index / zrpn.c
index 66777f6..2a4b593 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: zrpn.c,v 1.137 2004-05-10 08:47:54 adam Exp $
+/* $Id: zrpn.c,v 1.139 2004-06-02 12:29:03 adam Exp $
    Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
    Index Data Aps
 
@@ -941,7 +941,7 @@ static int string_term (ZebraHandle zh, Z_AttributesPlusTerm *zapt,
             zh->errString = basenames[base_no];
             return -1;
         }
-        if (use_value == -2)  /* string attribute (assume IDXPATH/any) */
+        if (xpath_use > 0 && use_value == -2) 
         {
             use_value = xpath_use;
             attp.local_attributes = &id_xpath_attr;
@@ -958,17 +958,23 @@ static int string_term (ZebraHandle zh, Z_AttributesPlusTerm *zapt,
         }
         else
         {
-            if ((r=att_getentbyatt (zh, &attp, curAttributeSet, use_value)))
+            if ((r=att_getentbyatt (zh, &attp, curAttributeSet, use_value,
+                                           use_string)))
             {
                 logf (LOG_DEBUG, "att_getentbyatt fail. set=%d use=%d r=%d",
                       curAttributeSet, use_value, r);
                 if (r == -1)
                 {
                     /* set was found, but value wasn't defined */
-                    char val_str[32];
-                    sprintf (val_str, "%d 1", use_value);
                     errCode = 114;
-                    errString = nmem_strdup (stream, val_str);
+                   if (use_string)
+                       errString = nmem_strdup(stream, use_string);
+                   else
+                    {
+                        char val_str[32];
+                        sprintf (val_str, "%d", use_value);
+                        errString = nmem_strdup (stream, val_str);
+                   }
                 }
                 else
                 {
@@ -1015,7 +1021,7 @@ static int string_term (ZebraHandle zh, Z_AttributesPlusTerm *zapt,
            bases_ok++;
 #else
             char val_str[32];
-            sprintf (val_str, "%d 2", use_value);
+            sprintf (val_str, "%d", use_value);
             errCode = 114;
             errString = nmem_strdup (stream, val_str);
 #endif
@@ -1680,6 +1686,7 @@ static RSET rpn_search_APT_or_list (ZebraHandle zh,
         bool_parms.rset_r = rset[i];
         bool_parms.key_size = sizeof(struct it_key);
        bool_parms.cmp = key_compare_it;
+       bool_parms.log_item = key_logdump_txt;
         result = rset_create (rset_kind_or, &bool_parms);
     }
     return result;
@@ -1737,6 +1744,7 @@ static RSET rpn_search_APT_and_list (ZebraHandle zh,
         bool_parms.rset_r = rset[i];
         bool_parms.key_size = sizeof(struct it_key);
        bool_parms.cmp = key_compare_it;
+       bool_parms.log_item = key_logdump_txt;
         result = rset_create (rset_kind_and, &bool_parms);
     }
     return result;
@@ -1850,7 +1858,8 @@ static int numeric_term (ZebraHandle zh, Z_AttributesPlusTerm *zapt,
         }
         else
         {
-            if ((r=att_getentbyatt (zh, &attp, curAttributeSet, use_value)))
+            if ((r=att_getentbyatt (zh, &attp, curAttributeSet, use_value,
+                                           use_string)))
             {
                 logf (LOG_DEBUG, "att_getentbyatt fail. set=%d use=%d r=%d",
                       curAttributeSet, use_value, r);
@@ -1980,6 +1989,7 @@ static RSET rpn_search_APT_numeric (ZebraHandle zh,
         bool_parms.rset_r = rset[i];
         bool_parms.key_size = sizeof(struct it_key);
        bool_parms.cmp = key_compare_it;
+       bool_parms.log_item = key_logdump_txt;
         result = rset_create (rset_kind_and, &bool_parms);
     }
     return result;
@@ -2450,6 +2460,7 @@ static RSET rpn_search_structure (ZebraHandle zh, Z_RPNStructure *zs,
         }
         bool_parms.key_size = sizeof(struct it_key);
         bool_parms.cmp = key_compare_it;
+       bool_parms.log_item = key_logdump_txt;
 
         switch (zop->which)
         {
@@ -2692,6 +2703,7 @@ void rpn_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
     char termz[IT_MAX_WORD+20];
     AttrType use;
     int use_value;
+    const char *use_string = 0;
     struct scan_info *scan_info_array;
     ZebraScanEntry *glist;
     int ords[32], ord_no = 0;
@@ -2742,7 +2754,7 @@ void rpn_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
              pos, num, attributeset);
         
     attr_init (&use, zapt, 1);
-    use_value = attr_find (&use, &attributeset);
+    use_value = attr_find_ex (&use, &attributeset, &use_string);
 
     if (zebra_maps_attr (zh->reg->zebra_maps, zapt, &reg_id, &search_type,
                         rank_type, &complete_flag, &sort_flag))
@@ -2761,7 +2773,8 @@ void rpn_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
         attent attp;
         data1_local_attribute *local_attr;
 
-        if ((r=att_getentbyatt (zh, &attp, attributeset, use_value)))
+        if ((r=att_getentbyatt (zh, &attp, attributeset, use_value,
+                               use_string)))
         {
             logf (LOG_DEBUG, "att_getentbyatt fail. set=%d use=%d",
                   attributeset, use_value);
@@ -2896,7 +2909,8 @@ void rpn_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
 
                 bool_parms.key_size = sizeof(struct it_key);
                 bool_parms.cmp = key_compare_it;
-                bool_parms.rset_l = rset;
+               bool_parms.log_item = key_logdump_txt;
+               bool_parms.rset_l = rset;
                 bool_parms.rset_r = rset2;
               
                 rset = rset_create (rset_kind_or, &bool_parms);
@@ -2910,7 +2924,8 @@ void rpn_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
 
             bool_parms.key_size = sizeof(struct it_key);
             bool_parms.cmp = key_compare_it;
-            bool_parms.rset_l = rset;
+           bool_parms.log_item = key_logdump_txt;
+           bool_parms.rset_l = rset;
             bool_parms.rset_r = rset_dup(limit_set);
 
             rset = rset_create (rset_kind_and, &bool_parms);
@@ -2975,7 +2990,8 @@ void rpn_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
 
                 bool_parms.key_size = sizeof(struct it_key);
                 bool_parms.cmp = key_compare_it;
-                bool_parms.rset_l = rset;
+               bool_parms.log_item = key_logdump_txt;
+               bool_parms.rset_l = rset;
                 bool_parms.rset_r = rset2;
               
                 rset = rset_create (rset_kind_or, &bool_parms);
@@ -2989,6 +3005,7 @@ void rpn_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
 
             bool_parms.key_size = sizeof(struct it_key);
             bool_parms.cmp = key_compare_it;
+           bool_parms.log_item = key_logdump_txt;
             bool_parms.rset_l = rset;
             bool_parms.rset_r = rset_dup(limit_set);