Changeset 7300526 in serd


Ignore:
Timestamp:
Sep 23, 2017, 11:26:33 AM (8 weeks ago)
Author:
David Robillard <d@…>
Branches:
master, serd1
Children:
8d954ab
Parents:
f6655b2
Message:

Improve error reporting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/reader.c

    rf6655b2 r7300526  
    980980    pop_node(reader, *datatype);
    981981    pop_node(reader, ref);
    982     return false;
     982    return r_err(reader, SERD_ERR_BAD_SYNTAX, "bad number syntax\n");
    983983}
    984984
     
    10221022    *lang     = pop_node(reader, *lang);
    10231023    pop_node(reader, str);
    1024     return false;
     1024    return r_err(reader, SERD_ERR_BAD_SYNTAX, "bad literal syntax\n");
    10251025}
    10261026
     
    10581058               !read_PrefixedName(reader, *dest, false, &ate_dot) ||
    10591059               ate_dot) {
    1060         return (*dest = pop_node(reader, *dest));
     1060        *dest = pop_node(reader, *dest);
     1061        return r_err(reader, SERD_ERR_BAD_SYNTAX, "bad verb\n");
    10611062    }
    10621063
     
    12261227    switch (c) {
    12271228    case '\0':
     1229        return r_err(reader, SERD_ERR_BAD_SYNTAX, "end of file in object\n");
    12281230    case ')':
    12291231        return false;
     
    12651267            ret = false;
    12661268        } else {
    1267             ret = read_PrefixedName(reader, o, false, ate_dot);
     1269            if (!(ret = read_PrefixedName(reader, o, false, ate_dot))) {
     1270                r_err(reader, SERD_ERR_BAD_SYNTAX, "expected prefixed name\n");
     1271            }
    12681272        }
    12691273    }
     
    13241328            switch (c = peek_byte(reader)) {
    13251329            case 0:
    1326                 return false;
     1330                return r_err(reader, SERD_ERR_BAD_SYNTAX,
     1331                             "unexpected end of file\n");
    13271332            case '.': case ']': case '}':
    13281333                return true;
     
    14571462        case '.':
    14581463            *ate_dot = eat_byte_safe(reader, '.');
    1459             return false;
     1464            return r_err(reader, SERD_ERR_BAD_SYNTAX, "syntax error\n");
    14601465        case '}':
    14611466            return false;
     
    16541659            ret = r_err(reader, SERD_ERR_BAD_SYNTAX, "bad subject\n");
    16551660        } else if (!read_triples(reader, ctx, &ate_dot)) {
    1656             if (!(ret = (s_type == '['))) {
    1657                 r_err(reader, SERD_ERR_BAD_SYNTAX, "expected predicate\n");
    1658             }
     1661            ret = (s_type == '[');
    16591662        } else if (!ate_dot) {
    16601663            read_ws_star(reader);
Note: See TracChangeset for help on using the changeset viewer.