예제 #1
0
Eina_Bool
enjoy_lms_parsers_add(lms_t *lms)
{
   int i;
   Eina_Bool found_parser = 0;
   for (i = 0; _parsers[i]; i++)
     {
        if (lms_parser_find_and_add(lms, _parsers[i]))
          found_parser = 1;
     }

   return found_parser;
}
예제 #2
0
static int
handle_options_setup(lms_t *lms, int argc, char **argv)
{
    int opt_index, parsers_added;

    optind = 0;
    opterr = 0;
    opt_index = 0;
    parsers_added = 0;
    while (1) {
        int c;

        c = getopt_long(argc, argv, short_options, long_options, &opt_index);
        if (c == -1)
            break;

        switch (c) {
        case 'p': {
            lms_plugin_t *p;
            if (optarg[0] == '.' || optarg[0] == '/')
                p = lms_parser_add(lms, optarg);
            else
                p = lms_parser_find_and_add(lms, optarg);
            if (!p)
                return -1;
            parsers_added = 1;
            break;
        }
        case 'c':
            if (lms_charset_add(lms, optarg) != 0)
                return -1;
            break;
        case 'i':
            lms_set_commit_interval(lms, atoi(optarg));
            break;
        case 't':
            lms_set_slave_timeout(lms, atoi(optarg));
            break;
        default:
            break;
        }
    }

    if (!parsers_added)
        fputs("WARNING: no parser added, --scan-path (-s) will not work "
              "as expected.\n", stderr);

    return 0;
}