-/*
- * Copyright (c) 1995, the EUROPAGATE consortium (see below).
- *
- * The EUROPAGATE consortium members are:
- *
- * University College Dublin
- * Danmarks Teknologiske Videnscenter
- * An Chomhairle Leabharlanna
- * Consejo Superior de Investigaciones Cientificas
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation, in whole or in part, for any purpose, is hereby granted,
- * provided that:
- *
- * 1. This copyright and permission notice appear in all copies of the
- * software and its documentation. Notices of copyright or attribution
- * which appear at the beginning of any file must remain unchanged.
- *
- * 2. The names of EUROPAGATE or the project partners may not be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * 3. Users of this software (implementors and gateway operators) agree to
- * inform the EUROPAGATE consortium of their use of the software. This
- * information will be used to evaluate the EUROPAGATE project and the
- * software, and to plan further developments. The consortium may use
- * the information in later publications.
- *
- * 4. Users of this software agree to make their best efforts, when
- * documenting their use of the software, to acknowledge the EUROPAGATE
- * consortium, and the role played by the software in their work.
- *
- * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- * IN NO EVENT SHALL THE EUROPAGATE CONSORTIUM OR ITS MEMBERS BE LIABLE
- * FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF
- * ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
- * OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND
- * ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * USE OR PERFORMANCE OF THIS SOFTWARE.
- *
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2012 Index Data
+ * See the file LICENSE for details.
*/
/**
* \file cclqfile.c
* \brief Implements parsing of CCL qualifier specs in files
*/
-/* CCL qualifiers
- * Europagate, 1995
- *
- * $Id: cclqfile.c,v 1.11 2007-04-30 19:55:40 adam Exp $
- *
- * Old Europagate Log:
- *
- * Revision 1.3 1995/05/16 09:39:26 adam
- * LICENSE.
- *
- * Revision 1.2 1995/05/11 14:03:56 adam
- * Changes in the reading of qualifier(s). New function: ccl_qual_fitem.
- * New variable ccl_case_sensitive, which controls whether reserved
- * words and field names are case sensitive or not.
- *
- * Revision 1.1 1995/04/17 09:31:45 adam
- * Improved handling of qualifiers. Aliases or reserved words.
- *
- */
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
#include <stdio.h>
#include <stdlib.h>
/* lead is first of a list of qualifier aliaeses */
/* qualifier alias: q1 q2 ... */
char *qlist[10];
- int i = 0;
+ size_t i = 0;
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);
value = CCL_BIB1_STR_AND_LIST;
if (!ccl_stricmp (value_str, "ol"))
value = CCL_BIB1_STR_OR_LIST;
+ if (!ccl_stricmp (value_str, "ag"))
+ value = CCL_BIB1_STR_AUTO_GROUP;
break;
case 't':
case 'T':
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':
while (1)
{
const char *cp2 = cp1;
- int len;
+ size_t len;
while (*cp2 && !strchr("\r\n", *cp2))
cp2++;
len = cp2 - cp1;
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab