Fixed uninitialized boolean.
[yaz-moved-to-github.git] / util / pquery.c
index 20b9370..eccf10b 100644 (file)
@@ -4,7 +4,25 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: pquery.c,v $
- * Revision 1.2  1995-05-26 08:56:11  adam
+ * Revision 1.8  1996-01-02 11:46:56  quinn
+ * Changed 'operator' to 'roperator' to avoid C++ conflict.
+ *
+ * Revision 1.7  1995/09/29  17:12:36  quinn
+ * Smallish
+ *
+ * Revision 1.6  1995/09/27  15:03:03  quinn
+ * Modified function heads & prototypes.
+ *
+ * Revision 1.5  1995/06/15  12:31:02  quinn
+ * *** empty log message ***
+ *
+ * Revision 1.4  1995/06/15  07:45:19  quinn
+ * Moving to v3.
+ *
+ * Revision 1.3  1995/06/14  11:06:35  adam
+ * Bug fix: Attributes wasn't interpreted correctly!
+ *
+ * Revision 1.2  1995/05/26  08:56:11  adam
  * New function: p_query_scan.
  *
  * Revision 1.1  1995/05/22  15:31:49  adam
@@ -100,14 +118,25 @@ static Z_AttributesPlusTerm *rpn_term (ODR o, int num_attr, int *attr_list)
     if (num_attr)
     {
         int i;
+        int *attr_tmp;
+
         zapt->attributeList = odr_malloc (o, num_attr * 
                                           sizeof(*zapt->attributeList));
+
+        attr_tmp = odr_malloc (o, num_attr * 2 * sizeof(int));
+        memcpy (attr_tmp, attr_list, num_attr * 2 * sizeof(int));
         for (i = 0; i < num_attr; i++)
         {
             zapt->attributeList[i] =
                 odr_malloc (o,sizeof(**zapt->attributeList));
-            zapt->attributeList[i]->attributeType = &attr_list[2*i];
-            zapt->attributeList[i]->attributeValue = &attr_list[2*i+1];
+            zapt->attributeList[i]->attributeType = &attr_tmp[2*i];
+#ifdef Z_95
+           zapt->attributeList[i]->attributeSet = 0;
+           zapt->attributeList[i]->which = Z_AttributeValue_numeric;
+           zapt->attributeList[i]->value.numeric = &attr_tmp[2*i+1];
+#else
+            zapt->attributeList[i]->attributeValue = &attr_tmp[2*i+1];
+#endif
         }
     }
     else
@@ -158,7 +187,7 @@ static Z_Complex *rpn_complex (ODR o, int num_attr, int max_attr,
 
     zc = odr_malloc (o, sizeof(*zc));
     zo = odr_malloc (o, sizeof(*zo));
-    zc->operator = zo;
+    zc->roperator = zo;
     switch (query_look)
     {
     case 'a':