Re: fprintf && write

From
Lev Walkin ()
To
Serge Ryabchun ()
Date
2003-06-04T00:20:40Z
Area
RU.UNIX.PROG
From: Lev Walkin <vlm@netli.com>


> Andrey Melnikov <Andrey.Melnikov@p116.f1340.n5030.z2.fidonet.org> wrote:
>
>    while (wlen != len){
>
>          tv.tv_sec = timeout; /* timeout; */
>          tv.tv_usec = 0;
>
>          if (!select (fd + 1, NULL, &wfds, NULL, &tv)){
>             return -1;
>          }
>        wr = write(fd,wr_buf,len);
>
>        if (wr < 0){
>           return -1;
>        } else {
>           wlen += wr;
>        }
>    }

Народ, а почему это вдруг wr_buf не изменяется от вызова к вызову?
wlen - да, но не wr_buf? И write() будет пытаться записать
один и тот же блок данных от вызова к вызову!

Раз уж на то пошло, зачем len = strlen(wr_buf), а не
len = vsnprintf(wr_buf)? Очень хочется процессор пожрать
лишний раз?

-- 
Lev Walkin
vlm@netli.com

--- ifmail v.2.15dev5
 * Origin: Netli, Inc. (2:5020/400)