Changeset 1655 for zzuf


Ignore:
Timestamp:
Jan 12, 2007, 11:09:22 AM (13 years ago)
Author:
Sam Hocevar
Message:
  • Better line-buffered stdin reads.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • zzuf/trunk/src/zzuf.c

    r1650 r1655  
    264264        for(;;)
    265265        {
    266             uint8_t buf[12];
    267             int ret = fread(buf, 1, 12, stdin);
     266            uint8_t buf[BUFSIZ];
     267            int ret, off = 0, nw = 0;
     268
     269            ret = read(0, buf, BUFSIZ);
    268270            if(ret <= 0)
    269271                break;
     
    274276            if(md5)
    275277                _zz_md5_add(ctx, buf, ret);
    276             else
    277                 fwrite(buf, 1, ret, stdout);
     278            else while(ret)
     279            {
     280                if((nw = write(1, buf + off, (size_t)ret)) < 0)
     281                    break;
     282                ret -= nw;
     283                off += nw;
     284            }
    278285        }
    279286
Note: See TracChangeset for help on using the changeset viewer.