Ignore:
Timestamp:
02/11/12 09:36:09 (15 months ago)
Author:
rudi_de
Message:

Aktualisierung auf Rev. 1659 internationaler Branch: Release-1.0
http://trac.assembla.com/chdk/changeset/1659/branches/release-1_0
Danke philmoz!

Betrifft VxWorks und DryOS Signaturfinder

  • Ausgabedatei ist 4. Parameter
  • bessere Trennung von Programmausgabe (STDOUT) und Fehlermeldungen (STDERR)
  • CHDK-Shell zeigt die Erzeugungsdauer der stubs_entry.S nicht mehr als Fehler
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/finsig_vxworks.c

    r749 r950  
    8989} 
    9090 
     91FILE *out_fp; 
     92 
    9193void usage() 
    9294{ 
    93     printf("finsig <primary> <base>\n"); 
     95    if (out_fp) fprintf(out_fp,"finsig <primary> <base> <outputfilename>\n"); 
     96    fprintf(stderr,"finsig <primary> <base> <outputfilename>\n"); 
    9497    exit(1); 
    9598} 
     
    112115    clock_t t1 = clock(); 
    113116 
    114     if (argc != 3) 
     117    if (argc != 4) 
    115118        usage(); 
     119 
     120    out_fp = fopen(argv[3],"w"); 
     121    if (out_fp == NULL) usage(); 
    116122 
    117123    f = fopen(argv[1], "r+b"); 
     
    122128    base = strtoul(argv[2], NULL, 0); 
    123129 
    124     printf("// !!! THIS FILE IS GENERATED. DO NOT EDIT. !!!\n"); 
    125     printf("#include \"stubs_asm.h\"\n\n"); 
     130    fprintf(out_fp,"// !!! THIS FILE IS GENERATED. DO NOT EDIT. !!!\n"); 
     131    fprintf(out_fp,"#include \"stubs_asm.h\"\n\n"); 
    126132 
    127133    fseek(f,0,SEEK_END); 
     
    206212                        count ++; 
    207213                        if (count >= MAX_MATCHES){ 
    208                             printf("// WARNING: too many matches for %s!\n", func_list[k].name); 
     214                            fprintf(out_fp,"// WARNING: too many matches for %s!\n", func_list[k].name); 
    209215                            break; 
    210216                        } 
     
    222228        // find best match and report results 
    223229        if (count == 0){ 
    224             printf("// ERROR: %s is not found!\n", curr_name); 
     230            fprintf(out_fp,"// ERROR: %s is not found!\n", curr_name); 
    225231            ret = 1; 
    226232        } else { 
     
    230236 
    231237            if (matches->fail > 0) 
    232                 printf("// Best match: %d%%\n", matches->success*100/(matches->success+matches->fail)); 
    233  
    234             printf("NSTUB(%s, 0x%x)\n", curr_name, matches->ptr); 
     238                fprintf(out_fp,"// Best match: %d%%\n", matches->success*100/(matches->success+matches->fail)); 
     239 
     240            fprintf(out_fp,"NSTUB(%s, 0x%x)\n", curr_name, matches->ptr); 
    235241 
    236242            for (i=1;i<count && matches[i].fail==matches[0].fail;i++){ 
    237                 printf("// ALT: NSTUB(%s, 0x%x) // %d/%d\n", curr_name, matches[i].ptr, matches[i].success, matches[i].fail); 
     243                fprintf(out_fp,"// ALT: NSTUB(%s, 0x%x) // %d/%d\n", curr_name, matches[i].ptr, matches[i].success, matches[i].fail); 
    238244            } 
    239245        } 
     
    242248    clock_t t2 = clock(); 
    243249 
    244     fprintf(stderr,"Time to generate stubs %.2f seconds\n",(double)(t2-t1)/(double)CLOCKS_PER_SEC); 
     250    printf("Time to generate stubs %.2f seconds\n",(double)(t2-t1)/(double)CLOCKS_PER_SEC); 
     251 
     252    fclose(out_fp); 
    245253 
    246254    return ret; 
Note: See TracChangeset for help on using the changeset viewer.