/*
- * Copyright (C) 1994-1995, Index Data I/S
+ * Copyright (C) 1995-1998, Index Data I/S
* All rights reserved.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: zlogs.c,v $
- * Revision 1.4 1996-10-08 09:41:25 quinn
+ * 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
#include "zserver.h"
-static char *attrStr (int type, int value, enum oid_value ast)
+static void attrStr (int type, int value, enum oid_value ast, char *str)
{
- static char str[80];
-
*str = '\0';
switch (ast)
{
sprintf (str + strlen(str), " (%d=%d)", type, value);
else
sprintf (str, "%d=%d", type, value);
- return str;
}
/*
enum oid_value ast)
{
int of, i;
+ char str[80];
for (of = 0; of < t->num_attributes; of++)
{
Z_AttributeElement *element;
switch (element->which)
{
case Z_AttributeValue_numeric:
- logf (LOG_LOG, "%*.s %s", level, "",
- attrStr (*element->attributeType, *element->value.numeric, ast));
+ attrStr (*element->attributeType,
+ *element->value.numeric, ast, str);
+ logf (LOG_LOG, "%*.s %s", level, "", str);
break;
case Z_AttributeValue_complex:
logf (LOG_LOG, "%*.s attributeType=%d complex", level, "",
logf (LOG_LOG, "RPN query. Type: %s", attrset->desc);
zlog_structure (rpn->RPNStructure, 0, ast);
}
+
+void zlog_scan (Z_AttributesPlusTerm *zapt, oid_value ast)
+{
+ int level = 0;
+ if (zapt->term->which == Z_Term_general)
+ {
+ logf (LOG_LOG, "%*.s term '%.*s' (general)", level, "",
+ zapt->term->u.general->len, zapt->term->u.general->buf);
+ }
+ else
+ logf (LOG_LOG, "%*.s term (not general)", level, "");
+ zlog_attributes (zapt, level+2, ast);
+}