X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=util%2Fcclsh.c;h=419fcb719363517b4e10c28963a7ad0c35008c2f;hp=b9aafc01e4e2ee33cdf7875825e477850aa08a01;hb=eb4631c82f3b57fb016234447443268d4f46b933;hpb=73f6b7a6b12a1e0e54c9cc360f552a56726d75fd diff --git a/util/cclsh.c b/util/cclsh.c index b9aafc0..419fcb7 100644 --- a/util/cclsh.c +++ b/util/cclsh.c @@ -1,88 +1,10 @@ -/* - * 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. - * - */ -/* CCL shell. - * Europagate 1995 - * - * $Id: cclsh.c,v 1.8 2007-05-01 12:22:11 adam Exp $ - * - * Old Europagate Log: - * - * Revision 1.11 1995/05/16 09:39:27 adam - * LICENSE. - * - * Revision 1.10 1995/05/11 14:03:57 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.9 1995/02/23 08:32:00 adam - * Changed header. - * - * Revision 1.7 1995/02/15 17:42:16 adam - * Minor changes of the api of this module. FILE* argument added - * to ccl_pr_tree. - * - * Revision 1.6 1995/02/14 19:55:13 adam - * Header files ccl.h/cclp.h are gone! They have been merged an - * moved to ../include/ccl.h. - * Node kind(s) in ccl_rpn_node have changed names. - * - * Revision 1.5 1995/02/14 16:20:57 adam - * Qualifiers are read from a file now. - * - * Revision 1.4 1995/02/14 14:12:42 adam - * Ranges for ordered qualfiers implemented (e.g. pd=1980-1990). - * - * Revision 1.3 1995/02/14 10:25:57 adam - * The constructions 'qualifier rel term ...' implemented. - * - * Revision 1.2 1995/02/13 15:15:07 adam - * Added handling of qualifiers. Not finished yet. - * - * Revision 1.1 1995/02/13 12:35:21 adam - * First version of CCL. Qualifiers aren't handled yet. +/* This file is part of the YAZ toolkit. + * Copyright (C) Index Data + * See the file LICENSE for details. */ +#if HAVE_CONFIG_H +#include +#endif #include #include @@ -92,7 +14,7 @@ #include #if HAVE_READLINE_READLINE_H -#include +#include #endif #if HAVE_READLINE_HISTORY_H #include @@ -122,8 +44,8 @@ int main(int argc, char **argv) WRBUF q_wrbuf = 0; prog = *argv; - bibset = ccl_qual_mk(); - + bibset = ccl_qual_mk(); + while ((ret = options("db:x:", argv, argc, &arg)) != -2) { switch(ret) @@ -175,11 +97,11 @@ int main(int argc, char **argv) CCL_parser cclp = ccl_parser_create(bibset); int error; struct ccl_rpn_node *rpn; - + rpn = ccl_parser_find_str(cclp, wrbuf_cstr(q_wrbuf)); - + error = ccl_parser_get_error(cclp, 0); - + if (error) { printf("%s\n", ccl_err_msg(error)); @@ -219,19 +141,19 @@ int main(int argc, char **argv) } strcpy(buf,line_in); free(line_in); -#else +#else printf("CCLSH>"); fflush(stdout); if (!fgets(buf, 999, stdin)) break; -#endif +#endif for (i = 0; i<1; i++) { CCL_parser cclp = ccl_parser_create(bibset); int pos; - + rpn = ccl_parser_find_str(cclp, buf); - + error = ccl_parser_get_error(cclp, &pos); if (error) @@ -252,7 +174,7 @@ int main(int argc, char **argv) printf("Second:\n"); ccl_pr_tree(rpn, stdout); printf("\n"); - + for (idx = 0; ; idx++) { const char *qname; @@ -260,7 +182,7 @@ int main(int argc, char **argv) if (!ccl_stop_words_info(csw, idx, &qname, &term)) break; - printf("Removed from %s: %s\n", + printf("Removed from %s: %s\n", qname ? qname : "none", term); } } @@ -279,6 +201,7 @@ int main(int argc, char **argv) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab