78 if (!parser->stream_start_produced) {
84 if (parser->stream_end_produced) {
96 parser->document = document;
101 parser->document =
NULL;
109 parser->document =
NULL;
203 switch (first_event->
type) {
231 if (!anchor)
return 1;
238 alias_data != parser->
aliases.
top; alias_data ++) {
239 if (strcmp((
char *)alias_data->
anchor, (
char *)anchor) == 0) {
242 "found duplicate anchor; first occurence",
243 alias_data->
mark,
"second occurence", data.
mark);
266 alias_data != parser->
aliases.
top; alias_data ++) {
267 if (strcmp((
char *)alias_data->
anchor, (
char *)anchor) == 0) {
269 return alias_data->
index;
286 ptrdiff_t node_index;
292 if (!tag || strcmp((
char *)tag,
"!") == 0) {
295 if (!tag)
goto error;
305 #if PTRDIFF_MAX > INT_MAX
306 if (node_index > INT_MAX)
goto error;
308 index = (int)node_index;
336 int index, item_index;
337 ptrdiff_t node_index;
342 if (!tag || strcmp((
char *)tag,
"!") == 0) {
345 if (!tag)
goto error;
357 #if PTRDIFF_MAX > INT_MAX
358 if (node_index > INT_MAX)
goto error;
360 index = (int)node_index;
370 INT_MAX-1))
return 0;
372 if (!item_index)
return 0;
375 item_index))
return 0;
404 ptrdiff_t node_index;
410 if (!tag || strcmp((
char *)tag,
"!") == 0) {
413 if (!tag)
goto error;
425 #if PTRDIFF_MAX > INT_MAX
426 if (node_index > INT_MAX)
goto error;
428 index = (int)node_index;
438 INT_MAX-1))
return 0;
440 if (!pair.
key)
return 0;
443 if (!pair.
value)
return 0;