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)