libyaml / tests / run-loader.c

Kirill Simonov 75eb8f6 

Kirill Simonov 21c76a9 

Kirill Simonov 75eb8f6 

#include <yaml.h>

#include <stdlib.h>
#include <stdio.h>

#ifdef NDEBUG
#undef NDEBUG
#include <assert.h>

main(int argc, char *argv[])
    int number;

    if (argc < 2) {
        printf("Usage: %s file1.yaml ...\n", argv[0]);
        return 0;

    for (number = 1; number < argc; number ++)
        FILE *file;
        yaml_parser_t parser;
        yaml_document_t document;
        int done = 0;
        int count = 0;
        int error = 0;

        printf("[%d] Loading '%s': ", number, argv[number]);

        file = fopen(argv[number], "rb");


        yaml_parser_set_input_file(&parser, file);

        while (!done)
            if (!yaml_parser_load(&parser, &document)) {
                error = 1;

            done = (!yaml_document_get_root_node(&document));


            if (!done) count ++;



        printf("%s (%d documents)\n", (error ? "FAILURE" : "SUCCESS"), count);

    return 0;
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.