26 for (; sf; sf = sf->
u.link[1])
32 for (; se; se = se->
u.link[1])
49 int indicator_length,
WRBUF wtmp)
57 l->
u.string, strlen(l->
u.string));
65 for (j = 1; j <= indicator_length; j++)
67 for (m = l->
u.link[0]; m; m = m->
u.link[1])
73 && !strncmp(s->
u.link[0]->
u.string,
"ind", 3)
74 && s->
u.link[0]->
u.string[3] ==
'0' + j
84 for (m = l->
u.link[0]; m; m = m->
u.link[1])
90 && !strcmp(s->
u.link[0]->
u.string,
"subfields")
105 int indicator_length;
106 int identifier_length;
108 int length_data_entry;
110 int length_implementation;
113 const char *leader = 0;
114 for (l = n->
u.link[0]; l; l = l->
u.link[1])
120 if (!strcmp(p->
u.link[0]->
u.string,
"leader") &&
122 strlen(p->
u.link[1]->
u.string) == 24)
124 leader = p->
u.link[1]->
u.string;
131 leader =
"00000nam a22000000a 4500";
139 &length_implementation);
140 for (l = n->
u.link[0]; l; l = l->
u.link[1])
146 if (!strcmp(p->
u.link[0]->
u.string,
"fields") &&
148 p->
u.link[1]->
u.link[0] &&
152 for (l = p->
u.link[1]->
u.link[0]; l; l = l->
u.link[1])
156 if (l->
u.link[0]->
u.link[0] &&
160 for (; m; m = m->
u.link[1])
162 indicator_length, wtmp);
Header for JSON functions.
static void parse_field(yaz_marc_t mt, struct json_node *p, int indicator_length, WRBUF wtmp)
static void parse_subfields(yaz_marc_t mt, struct json_node *sf, WRBUF wtmp)
int yaz_marc_read_json_node(yaz_marc_t mt, struct json_node *n)
void yaz_marc_cprintf(yaz_marc_t mt, const char *fmt,...)
adds MARC annotation - printf interface
void yaz_marc_add_subfield(yaz_marc_t mt, const char *code_data, size_t code_data_len)
adds subfield to MARC structure
void yaz_marc_add_datafield(yaz_marc_t mt, const char *tag, const char *indicator, size_t indicator_len)
adds datafield to MARC structure using strings
void yaz_marc_set_leader(yaz_marc_t mt, const char *leader_c, int *indicator_length, int *identifier_length, int *base_address, int *length_data_entry, int *length_starting, int *length_implementation)
sets leader, validates it, and returns important values
void yaz_marc_add_controlfield(yaz_marc_t mt, const char *tag, const char *data, size_t data_len)
adds controlfield to MARC structure
struct yaz_marc_t_ * yaz_marc_t
a yaz_marc_t handle (private content)
union json_node::@230023163253300164160223011376007025006274114226 u
void wrbuf_destroy(WRBUF b)
destroy WRBUF and its buffer
const char * wrbuf_cstr(WRBUF b)
returns WRBUF content as C-string
void wrbuf_rewind(WRBUF b)
empty WRBUF content (length of buffer set to 0)
WRBUF wrbuf_alloc(void)
construct WRBUF
void wrbuf_puts(WRBUF b, const char *buf)
appends C-string to WRBUF
Header for common YAZ utilities.