Ignore:
Timestamp:
07/07/06 15:34:25 (8 years ago)
Author:
xi
Message:

Complete the Parser (it requires refactoring though) and fix some bugs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libyaml/trunk/src/api.c

    r202 r203  
    127127    parser->state = YAML_PARSE_STREAM_START_STATE; 
    128128 
     129    /* Allocate the stack of marks. */ 
     130 
     131    parser->marks = yaml_malloc(YAML_DEFAULT_SIZE*sizeof(yaml_mark_t)); 
     132    if (!parser->marks) goto error; 
     133    memset(parser->marks, 0, YAML_DEFAULT_SIZE*sizeof(yaml_mark_t)); 
     134 
     135    parser->marks_size = YAML_DEFAULT_SIZE; 
     136 
    129137    /* Allocate the list of TAG directives. */ 
    130138 
     
    146154 
    147155    yaml_free(parser->tag_directives); 
     156    yaml_free(parser->marks); 
    148157    yaml_free(parser->states); 
    149158    yaml_free(parser->simple_keys); 
     
    167176    assert(parser); /* Non-NULL parser object expected. */ 
    168177 
    169     yaml_free(parser->tag_directives); 
     178    /*yaml_free(parser->tag_directives);*/ 
     179    yaml_free(parser->marks); 
    170180    yaml_free(parser->states); 
    171181    yaml_free(parser->simple_keys); 
     
    697707    { 
    698708        case YAML_DOCUMENT_START_EVENT: 
    699             yaml_free(event->data.document_start.version_directive); 
     709            /*yaml_free(event->data.document_start.version_directive); 
    700710            if (event->data.document_start.tag_directives) { 
    701711                yaml_tag_directive_t **tag_directive; 
     
    707717                } 
    708718                yaml_free(event->data.document_start.tag_directives); 
    709             } 
     719            }*/ 
    710720            break; 
    711721 
Note: See TracChangeset for help on using the changeset viewer.