Changeset 2121

Show
Ignore:
Timestamp:
04/15/08 09:55:03 (1 month ago)
Author:
karpet
Message:

fix mem leak and add more info to usage()

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • libswish3/trunk/src/swish_lint.c

    r2116 r2121  
    3737    char **argv 
    3838); 
    39 int usage( 
     39void usage( 
    4040); 
    4141void handler( 
     
    7373} 
    7474 
    75 int 
     75void 
    7676usage( 
    7777) 
     
    8282    printf("opts:\n --config conf_file.xml\n --debug [lvl]\n --help\n"); 
    8383    printf("\n%s\n", descr); 
     84    printf("Debugging env vars:\n"); 
     85    printf("\tSWISH_DEBUG <-- takes sum of ints below\n"); 
     86    printf("\tSWISH_DEBUG_DOCINFO      1\n"); 
     87    printf("\tSWISH_DEBUG_TOKENIZER    2\n"); 
     88    printf("\tSWISH_DEBUG_WORDLIST     4\n"); 
     89    printf("\tSWISH_DEBUG_PARSER       8\n"); 
     90    printf("\tSWISH_DEBUG_CONFIG      16\n"); 
     91    printf("\tSWISH_DEBUG_MEMORY      32\n"); 
     92    printf("\tSWISH_DEBUG_NAMEDBUFFER 64\n"); 
     93    printf("stdin headers:\n"); 
     94    printf("\tContent-Length\n"); 
     95    printf("\tLast-Modified\n"); 
     96    printf("\tContent-Location\n"); 
     97    printf("\tParser-Type\n"); 
     98    printf("\tContent-Type\n"); 
     99    printf("\tEncoding\n"); 
     100    printf("\tUpdate-Mode\n"); 
    84101    libxml2_version(); 
    85102    swish_version(); 
    86     exit(0); 
     103 
    87104} 
    88105 
     
    175192        default: 
    176193            usage(); 
     194            exit(0); 
    177195 
    178196        } 
     
    186204    i = optind; 
    187205 
    188     /* 
    189        die with no args  
    190      */ 
    191206    if (!i || i >= argc) { 
    192         swish_free_swish3(s3); 
    193207        usage(); 
    194  
    195     } 
    196  
    197     if (SWISH_DEBUG & SWISH_DEBUG_CONFIG) { 
    198         swish_debug_config(s3->config); 
    199     } 
    200  
    201     for (; i < argc; i++) { 
    202  
    203         if (argv[i][0] != '-') { 
    204  
    205             printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); 
    206             printf("parse_file for %s\n", argv[i]); 
    207             if (!swish_parse_file(s3, (unsigned char *)argv[i])) 
    208                 files++; 
    209  
     208    } 
     209    else { 
     210        if (SWISH_DEBUG & SWISH_DEBUG_CONFIG) { 
     211            swish_debug_config(s3->config); 
    210212        } 
    211         else if (argv[i][0] == '-' && !argv[i][1]) { 
    212  
    213             printf("reading from stdin\n"); 
    214             files = swish_parse_fh(s3, NULL); 
     213 
     214        for (; i < argc; i++) { 
     215 
     216            if (argv[i][0] != '-') { 
     217 
     218                printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); 
     219                printf("parse_file for %s\n", argv[i]); 
     220                if (!swish_parse_file(s3, (unsigned char *)argv[i])) 
     221                    files++; 
     222 
     223            } 
     224            else if (argv[i][0] == '-' && !argv[i][1]) { 
     225 
     226                printf("reading from stdin\n"); 
     227                files = swish_parse_fh(s3, NULL); 
     228 
     229            } 
    215230 
    216231        } 
    217232 
    218     } 
    219  
    220     printf("\n\n%d files indexed\n", files); 
    221     printf("total words: %d\n", twords); 
    222  
    223     etime = swish_print_time(swish_time_elapsed() - start_time); 
    224     printf("%s total time\n\n", etime); 
    225     swish_xfree(etime); 
    226  
    227     swish_free_swish3(s3); 
     233        printf("\n\n%d files indexed\n", files); 
     234        printf("total words: %d\n", twords); 
     235 
     236        etime = swish_print_time(swish_time_elapsed() - start_time); 
     237        printf("%s total time\n\n", etime); 
     238        swish_xfree(etime); 
     239 
     240    } 
    228241 
    229242    if (config_file != NULL) 
    230243        swish_xfree(config_file); 
    231244 
     245    swish_free_swish3(s3); 
     246 
    232247    return (0); 
    233248}