Hi!

21-Мар-2004 15:31 [EMAIL PROTECTED] (Bart Oldeman) wrote to
[EMAIL PROTECTED]:

> A few suggestions from Arkady. Saves 5 bytes.

     :)

>      int nBytesRead, toRead = CHUNK;
>      seg sp = start_seg;
> +    while (1)
>      {
>        if (exe_size < CHUNK/16)
>          toRead = exe_size*16;
>        nBytesRead = (int)DosRWSft(fd, toRead, MK_FP(sp, 0), XFR_READ);
> +      if (nBytesRead < toRead || exe_size <= CHUNK/16)
>          break;

     This is not completely the same: in my code was no "nBytesRead" - BC
for such simple variables usually generates extra code to save AX on stack.
:( Also, I think, "!=" is more precise (and safe! - no issues with
signed/unsigned comparisions) condition, than "<".

PS: Bart, please, explain, why kernel returns nonzero root_entries filed in
current BPB32 (whereas both default BPB and boot record contain zero in this
field)?




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click
_______________________________________________
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to