/*
- * Copyright (c) 1995, Index Data.
+ * Copyright (c) 1995-1997, Index Data.
* See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: d1_sutrs.c,v $
- * Revision 1.2 1995-11-01 13:54:49 quinn
+ * Revision 1.6 1999-11-30 13:47:12 adam
+ * Improved installation. Moved header files to include/yaz.
+ *
+ * Revision 1.5 1999/10/21 12:06:29 adam
+ * Retrieval module no longer uses ctype.h - functions.
+ *
+ * Revision 1.4 1997/09/17 12:10:38 adam
+ * YAZ version 1.4.
+ *
+ * Revision 1.3 1995/12/15 16:57:11 quinn
+ * Added formatted-text.
+ *
+ * Revision 1.2 1995/11/01 13:54:49 quinn
* Minor adjustments
*
* Revision 1.1 1995/11/01 11:56:09 quinn
*
*/
-#include <ctype.h>
-
-#include <wrbuf.h>
-
-#include <data1.h>
+#include <yaz/data1.h>
#define NTOBUF_INDENT 2
#define NTOBUF_MARGIN 75
{
int l = 0;
- while (*b && !isspace(*b))
+ while (*b && !d1_isspace(*b))
l++, b++;
return l;
}
int l = c->u.data.len;
int first = 0;
- if (c->u.data.what == DATA1I_text)
+ if (c->u.data.what == DATA1I_text && c->u.data.formatted_text)
+ {
+ wrbuf_putc(b, '\n');
+ wrbuf_write(b, c->u.data.data, c->u.data.len);
+ sprintf(line, "%*s", indent * NTOBUF_INDENT, "");
+ wrbuf_write(b, line, strlen(line));
+ col = indent * NTOBUF_INDENT;
+ }
+ else if (c->u.data.what == DATA1I_text)
{
while (l)
{
int wlen;
- while (l && isspace(*p))
+ while (l && d1_isspace(*p))
p++, l--;
if (!l)
break;
wrbuf_putc(b, ' ');
col++;
}
- while (l && !isspace(*p))
+ while (l && !d1_isspace(*p))
{
if (col > NTOBUF_MARGIN)
{
* need changing.
*/
-char *data1_nodetobuf(data1_node *n, int select, int *len)
+char *data1_nodetobuf (data1_handle dh, data1_node *n, int select, int *len)
{
- static WRBUF b = 0;
+ WRBUF b = data1_get_wrbuf (dh);
- if (!b)
- b = wrbuf_alloc();
- else
- wrbuf_rewind(b);
+ wrbuf_rewind(b);
if (nodetobuf(n, select, b, 0, 0))
return 0;
wrbuf_putc(b, '\n');