Hi!

17-Ноя-2004 18:01 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to
[EMAIL PROTECTED]:

LG> +++ exeflat.c       17 Nov 2004 18:01:54 -0000      1.9.2.4
LG> +int exeflat(int UPX, const char *srcfile, const char *dstfile,
LG> +            const char *start, short *silentSegments, short silentcount)
LG>  {
LG>    if (fread(&header, sizeof(header), 1, src) != 1)
LG>    {
LG> -    printf("Error reading header from %s\n", argv[1]);
LG> +    printf("Error reading header from %s\n", srcfile);
LG>      fclose(src);
LG> -    return 1;
LG> +    exit(1);
LG>    }

     Small optimization: because BC doesn't knows, that exit() doesn't
returns, better to insert explicit "return 0;" after exit() or return error
code through return (remaining error handling for main()). For BC, this
allows to join common tails.

LG> +  qsort(reloc, header.exRelocItems, sizeof(reloc[0]), compReloc);

     Why to spend extra time for sorting relocations?

LG> +    for (j = 0; j < silentcount; j++)
LG> +      if (segment == silentSegments[j])
LG> +      {
LG> +        silentdone++;
LG> +        goto dontPrint;
LG> +      }

     Never understand this option. (Though, don't try to study its meaning
deeper). The more so, me always annoying tons of some information about some
relocations, which garbaes output after exeflat.




-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to