yaz_poll: Allow num_fds == 0
[yaz-moved-to-github.git] / src / cclqfile.c
index 7583610..678514c 100644 (file)
@@ -1,11 +1,14 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2010 Index Data
+ * Copyright (C) 1995-2012 Index Data
  * See the file LICENSE for details.
  */
 /** 
  * \file cclqfile.c
  * \brief Implements parsing of CCL qualifier specs in files
  */
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -83,10 +86,11 @@ int ccl_qual_field2(CCL_bibset bibset, const char *cp, const char *qual_name,
 
             qlist[i++] = lead_str;
 
-            while ((t=yaz_tok_move(tp)) == YAZ_TOK_STRING)
+            while (t == YAZ_TOK_STRING)
             {
                 if (i < sizeof(qlist)/sizeof(*qlist)-1)
                     qlist[i++] = xstrdup(yaz_tok_parse_string(tp));
+                t = yaz_tok_move(tp);
             }
             qlist[i] = 0;
             yaz_tok_parse_destroy(tp);
@@ -154,6 +158,10 @@ int ccl_qual_field2(CCL_bibset bibset, const char *cp, const char *qual_name,
                         value = CCL_BIB1_TRU_CAN_BOTH;
                     else if (!ccl_stricmp (value_str, "n"))
                         value = CCL_BIB1_TRU_CAN_NONE;
+                    else if (!ccl_stricmp (value_str, "x"))
+                        value = CCL_BIB1_TRU_CAN_REGEX;
+                    else if (!ccl_stricmp (value_str, "z"))
+                        value = CCL_BIB1_TRU_CAN_Z3958;
                     break;                
                 case 'c':
                 case 'C':