Ignore:
Timestamp:
01/07/07 15:11:16 (7 years ago)
Author:
xi
Message:

Add functions for constructing, parsing and emitting YAML documents.

File:
1 copied

Legend:

Unmodified
Added
Removed
  • libyaml/trunk/tests/example-reformatter-alt.c

    r220 r238  
    1616    yaml_parser_t parser; 
    1717    yaml_emitter_t emitter; 
    18     yaml_event_t event; 
     18    yaml_document_t document; 
    1919 
    2020    /* Clear the objects. */ 
     
    2222    memset(&parser, 0, sizeof(parser)); 
    2323    memset(&emitter, 0, sizeof(emitter)); 
    24     memset(&event, 0, sizeof(event)); 
     24    memset(&document, 0, sizeof(document)); 
    2525 
    2626    /* Analyze command line options. */ 
     
    8989        /* Get the next event. */ 
    9090 
    91         if (!yaml_parser_parse(&parser, &event)) 
     91        if (!yaml_parser_load(&parser, &document)) 
    9292            goto parser_error; 
    9393 
    9494        /* Check if this is the stream end. */ 
    9595 
    96         if (event.type == YAML_STREAM_END_EVENT) { 
     96        if (!yaml_document_get_root_node(&document)) { 
    9797            done = 1; 
    9898        } 
     
    100100        /* Emit the event. */ 
    101101 
    102         if (!yaml_emitter_emit(&emitter, &event)) 
     102        if (!yaml_emitter_dump(&emitter, &document)) 
    103103            goto emitter_error; 
    104104    } 
     
    160160            break; 
    161161 
     162        case YAML_COMPOSER_ERROR: 
     163            if (parser.context) { 
     164                fprintf(stderr, "Composer error: %s at line %d, column %d\n" 
     165                        "%s at line %d, column %d\n", parser.context, 
     166                        parser.context_mark.line+1, parser.context_mark.column+1, 
     167                        parser.problem, parser.problem_mark.line+1, 
     168                        parser.problem_mark.column+1); 
     169            } 
     170            else { 
     171                fprintf(stderr, "Composer error: %s at line %d, column %d\n", 
     172                        parser.problem, parser.problem_mark.line+1, 
     173                        parser.problem_mark.column+1); 
     174            } 
     175            break; 
     176 
    162177        default: 
    163178            /* Couldn't happen. */ 
Note: See TracChangeset for help on using the changeset viewer.