Ticket #587: omindex.patch

File omindex.patch, 1.9 KB (added by ndaley, 13 years ago)

Patch to add --max-size switch to omindex

  • omindex.cc

    old new  
    8080static bool follow_symlinks = false;
    8181static bool ignore_exclusions = false;
    8282static bool spelling = false;
     83static size_t  max_size = 0;
    8384static bool verbose = false;
    8485static enum {
    8586    EMPTY_BODY_WARN, EMPTY_BODY_INDEX, EMPTY_BODY_SKIP
     
    382383        return;
    383384    }
    384385
     386    if (max_size>0) {
     387        if (d.get_size() > max_size) {
     388            skip(file, "Larger than size limit", SKIP_VERBOSE_ONLY);
     389            return;
     390        }
     391    }
     392
    385393    string urlterm("U");
    386394    urlterm += url;
    387395
     
    10301038        { "spelling",   no_argument,            NULL, 'S' },
    10311039        { "verbose",    no_argument,            NULL, 'v' },
    10321040        { "empty-docs", required_argument,      NULL, 'e' },
     1041        { "max-size",   required_argument,      NULL, 'm' },
    10331042        { 0, 0, NULL, 0 }
    10341043    };
    10351044
     
    11921201
    11931202    string dbpath;
    11941203    int getopt_ret;
    1195     while ((getopt_ret = gnu_getopt_long(argc, argv, "hvd:D:U:M:F:l:s:pfSVe:i",
     1204    while ((getopt_ret = gnu_getopt_long(argc, argv, "hvd:D:U:M:F:l:s:pfSVe:im:",
    11961205                                         longopts, NULL)) != -1) {
    11971206        switch (getopt_ret) {
    11981207        case 'h': {
     
    12221231"  -f, --follow             follow symbolic links\n"
    12231232"  -i, --ignore-exclusions  ignore meta robots tags and similar exclusions\n"
    12241233"  -S, --spelling           index data for spelling correction\n"
     1234"  -m, --max-size           maximum size of file to index (in bytes)\n"
    12251235"  -v, --verbose            show more information about what is happening\n"
    12261236"      --overwrite          create the database anew (the default is to update\n"
    12271237"                           if the database already exists)" << endl;
     
    13261336        case 'v':
    13271337            verbose = true;
    13281338            break;
     1339        case 'm': {
     1340            int arg = atoi(optarg);
     1341            if (arg < 0) arg = 0;
     1342            max_size = size_t(arg);
     1343            break;
     1344        }
    13291345        case ':': // missing param
    13301346            return 1;
    13311347        case '?': // unknown option: FIXME -> char