Hi!

22-Мар-2004 16:56 [EMAIL PROTECTED] (Bart Oldeman) wrote to
[EMAIL PROTECTED]:

BO> +++ fatfs.c 22 Mar 2004 16:56:33 -0000      1.57
BO> +    xfr_cnt = count < (ULONG) secsize - boff ?
BO> +        (UWORD) count : secsize - boff;

     I not check this, but, probably, better if there will no cast to ULONG?
Or, even so:

    xfr_cnt = secsize - boff;
    if (xfr_cnt > count)
        xfr_cnt = (UWORD)count;

BO>      /* get a buffer to store the block in */
BO> +    if ((boff == 0) && (xfr_cnt == secsize))

     This condition may be simplified (because previous computation for
xfr_cnt, it may be equal to secsize only when boff==0):

    if (xfr_cnt == secsize)

BO>      /* set a block to zero                                  */
BO> +    fmemset((BYTE FAR *) & bp->b_buffer[boff], 0, xfr_cnt);

     Casting here is unneed - see definition for buffer.h/buffer::b_buffer
and other calls to fmem*(...b_buffer...):

    fmemset (bp->b_buffer + boff, 0, xfr_cnt);

BO> +      sectors_to_xfer = fnp->f_dpb->dpb_clsmask + 1 - sector;
BO>        sectors_to_xfer = min(sectors_to_xfer, sectors_wanted);

     Why not as next?

      sectors_to_xfer = fnp->f_dpb->dpb_clsmask + 1 - sector;
      if (sectors_to_xfer > sectors_wanted)
          sectors_to_xfer = sectors_wanted;

BO> +    xfr_cnt = min(to_xfer, secsize - boff);

     Especially, min() with expression isn't good idea. Why not as next?

    xfr_cnt = secsize - boff;
    if (xfr_cnt > to_xfer)
        xfr_cnt = to_xfer;

BO> +      fmemcpy(&bp->b_buffer[boff], buffer, xfr_cnt);

     As above:

      fmemcpy (bp->b_buffer + boff, buffer, xfr_cnt);




-------------------------------------------------------
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-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to