X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=zutil%2Flogrpn.c;h=57d2d2471334945dbdc597dd7315a8411cab2b9b;hb=b08d68a3edac5a93dce61f98d2f030ea722311c4;hp=b56e6a8aee9ddc3a722eec4d6193dea7f8c391b8;hpb=c126b2a625462f95475f00efdfdf9ce41a0e9c79;p=yaz-moved-to-github.git diff --git a/zutil/logrpn.c b/zutil/logrpn.c index b56e6a8..57d2d24 100644 --- a/zutil/logrpn.c +++ b/zutil/logrpn.c @@ -1,60 +1,8 @@ /* - * Copyright (C) 1995-2000, Index Data + * Copyright (C) 1995-2001, Index Data * All rights reserved. - * Sebastian Hammer, Adam Dickmeiss - * - * $Log: logrpn.c,v $ - * Revision 1.4 2000-01-31 13:15:22 adam - * Removed uses of assert(3). Cleanup of ODR. CCL parser update so - * that some characters are not surrounded by spaces in resulting term. - * ILL-code updates. - * - * Revision 1.3 1999/11/30 13:47:12 adam - * Improved installation. Moved header files to include/yaz. - * - * Revision 1.2 1999/08/27 09:40:33 adam - * Renamed logf function to yaz_log. Removed VC++ project files. - * - * Revision 1.1 1999/06/08 10:10:16 adam - * New sub directory zutil. Moved YAZ Compiler to be part of YAZ tree. - * - * Revision 1.1 1998/11/16 16:02:35 adam - * Added loggin utilies, log_rpn_query and log_scan_term. These used - * to be part of Zebra. - * - * - * - * Old logs from zlogs.c: - * - * Revision 1.9 1998/10/13 20:36:02 adam - * Changed "indent" format string in log messages. - * - * Revision 1.8 1998/04/02 14:35:29 adam - * First version of Zebra that works with compiled ASN.1. - * - * Revision 1.7 1998/01/29 13:40:11 adam - * Better logging for scan service. - * - * Revision 1.6 1997/09/29 09:06:41 adam - * Removed static var to make this module thread safe. - * - * Revision 1.5 1997/04/30 08:56:07 quinn - * null - * - * Revision 1.4 1996/10/08 09:41:25 quinn - * Fixed diagnostic. - * - * Revision 1.3 1996/03/20 09:36:40 adam - * Function dict_lookup_grep got extra parameter, init_pos, which marks - * from which position in pattern approximate pattern matching should occur. - * Approximate pattern matching is used in relevance=re-2. - * - * Revision 1.2 1996/01/03 16:22:11 quinn - * operator->roperator - * - * Revision 1.1 1995/11/16 17:00:55 adam - * Better logging of rpn query. * + * $Id: logrpn.c,v 1.7 2002-07-25 12:48:54 adam Exp $ */ #include @@ -245,21 +193,13 @@ static void zlog_attributes (Z_AttributesPlusTerm *t, int level, { int of, i; char str[80]; -#ifdef ASN_COMPILED int num_attributes = t->attributes->num_attributes; -#else - int num_attributes = t->num_attributes; -#endif for (of = 0; of < num_attributes; of++) { const char *attset_name = ""; Z_AttributeElement *element; -#ifdef ASN_COMPILED element = t->attributes->attributes[of]; -#else - element = t->attributeList[of]; -#endif if (element->attributeSet) { oident *attrset; @@ -310,6 +250,9 @@ static void zlog_structure (Z_RPNStructure *zs, int level, enum oid_value ast) case Z_Operator_and_not: yaz_log (LOG_LOG, "%*.0s and-not", level, ""); break; + case Z_Operator_prox: + yaz_log (LOG_LOG, "%*.0s proximity", level, ""); + break; default: yaz_log (LOG_LOG, "%*.0s unknown complex", level, ""); return; @@ -323,14 +266,25 @@ static void zlog_structure (Z_RPNStructure *zs, int level, enum oid_value ast) { Z_AttributesPlusTerm *zapt = zs->u.simple->u.attributesPlusTerm; - if (zapt->term->which == Z_Term_general) + switch (zapt->term->which) { + case Z_Term_general: yaz_log (LOG_LOG, "%*.0s term '%.*s' (general)", level, "", zapt->term->u.general->len, zapt->term->u.general->buf); - } - else - { + break; + case Z_Term_characterString: + yaz_log (LOG_LOG, "%*.0s term '%s' (string)", level, "", + zapt->term->u.characterString); + break; + case Z_Term_numeric: + yaz_log (LOG_LOG, "%*.0s term '%d' (numeric)", level, "", + *zapt->term->u.numeric); + break; + case Z_Term_null: + yaz_log (LOG_LOG, "%*.0s term (null)", level, ""); + break; + default: yaz_log (LOG_LOG, "%*.0s term (not general)", level, ""); } zlog_attributes (zapt, level+2, ast);