-/* $Id: d1_marc.c,v 1.4 2003-11-13 23:57:41 adam Exp $
+/* $Id: d1_marc.c,v 1.6.2.1 2004-11-30 16:39:42 oleg Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003
Index Data Aps
{
int i;
*len = n->u.data.len;
-
+
+ /* Fixme: don't delete leader/final whitespaces
for (i = 0; i<*len; i++)
if (!d1_isspace(n->u.data.data[i]))
break;
*len = *len - i;
if (*len > 0)
return n->u.data.data + i;
+ */
+ if (*len > 0)
+ return n->u.data.data;
}
if (n->which == DATA1N_tag)
n = n->child;
char *op;
data1_node *field, *subf;
- data1_pr_tree (dh, n, stdout);
-
- yaz_log (LOG_DEBUG, "nodetomarc");
+#if 0
data1_pr_tree(dh, n, stdout);
+#endif
+ yaz_log (LOG_DEBUG, "nodetomarc");
memcpy (leader+5, p->record_status, 1);
memcpy (leader+6, p->implementation_codes, 4);
memint (leader+10, p->indicator_length, 1);
memint (leader+11, p->identifier_length, 1);
- memint (leader+12, base_address, 5);
memcpy (leader+17, p->user_systems, 3);
memint (leader+20, p->length_data_entry, 1);
memint (leader+21, p->length_starting, 1);
*buf = (char *)xrealloc(*buf, *size = len);
op = *buf;
+
+ /* we know the base address now */
+ memint (leader+12, base_address, 5);
+
+ /* copy temp leader to real output buf op */
memcpy (op, leader, 24);
memint (op, len, 5);