Directive s=pw sets structure to phrase if term includes blank(s).
[yaz-moved-to-github.git] / retrieval / d1_if.c
index 42790ec..62facc3 100644 (file)
@@ -1,12 +1,21 @@
 /*
- * Copyright (c) 1995-1999, Index Data.
+ * Copyright (c) 1995-2000, Index Data.
  * See the file LICENSE for details.
- * Sebastian Hammer, Adam Dickmeiss
  *
- * d1_if.c : A simple interface for extracting strings from data1_node tree structures
+ * d1_if.c : A simple interface for extracting strings from data1_node
+ *           tree structures
  *
  * $Log: d1_if.c,v $
- * Revision 1.2  2000-01-04 17:46:17  ian
+ * Revision 1.5  2000-02-10 13:42:43  adam
+ * Removed C++ comment.
+ *
+ * Revision 1.4  2000/01/06 14:30:56  adam
+ * Minor change - to prevent warnings.
+ *
+ * Revision 1.3  2000/01/06 11:27:02  adam
+ * Minor fix so that this source compiles using Visual C++.
+ *
+ * Revision 1.2  2000/01/04 17:46:17  ian
  * Added function to count occurences of a tag spec in a data1 tree.
  *
  * Revision 1.1  1999/12/21 14:16:19  ian
@@ -14,7 +23,6 @@
  * Also added a simple interface for extracting values from data1 trees using
  * a string based tagpath.
  *
- *
  */
 
 #include <stdio.h>
@@ -54,7 +62,7 @@ char data1_ScanNextToken(char* pBuffer,
         else
         {
             if ( strchr(pWhitespaceChars, **pPosInBuffer) != NULL )
-                *pPosInBuffer++;
+                (*pPosInBuffer)++;
             else
                 *pBuff++ = *((*pPosInBuffer)++);
         }
@@ -104,6 +112,9 @@ char *data1_getNodeValue(data1_node* node, char* pTagPath)
 }
 
 
+/* Max length of a tag */
+#define MAX_TAG_SIZE 50
+
 /* 
  * data1_LookupNode : Try and find a node as specified by a tagpath
  */
@@ -115,14 +126,11 @@ data1_node *data1_LookupNode(data1_node* node, char* pTagPath)
     /* Current Child node as we search for nodes matching the pattern in the tagpath */
     data1_node* current_child = node->child;
 
-    /* Max length of a tag */
-    int iMaxTagSize=50;
-
     /* Current position in string */
     char* pCurrCharInPath = pTagPath;
 
     /* Work buffer */
-    char Buffer[iMaxTagSize];
+    char Buffer[MAX_TAG_SIZE];
 
     /* The tag type of this node */
     int iTagType = 0;
@@ -131,7 +139,7 @@ data1_node *data1_LookupNode(data1_node* node, char* pTagPath)
     int iTagValue = 0;
 
     /* for string tags, the tag value */
-    char StringTagVal[iMaxTagSize];
+    char StringTagVal[MAX_TAG_SIZE];
 
     /* Which occurence of that tag under this node */
     int iOccurences=0;
@@ -211,12 +219,14 @@ data1_node *data1_LookupNode(data1_node* node, char* pTagPath)
                 {
                     if ( iOccurences )
                     {
-                        // Everything matched, but not yet found the right occurence of the given tag
+                        /* Everything matched, but not yet found the
+                           right occurence of the given tag */
                         iOccurences--;
                     }
                     else
                     {
-                        /* We have matched a string tag... Is there more to process? */
+                        /* We have matched a string tag... Is there more to
+                           process? */
                         matched_node = current_child;
                     }
                 }