Magellan Linux

Annotation of /trunk/netkit-rsh/netkit-rsh-0.17-errno.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 97 - (hide annotations) (download)
Fri Jan 19 23:50:26 2007 UTC (17 years, 4 months ago) by niro
File size: 1301 byte(s)
new files

1 niro 97 --- netkit-rsh-0.17/rcp/rcp.c.errno 2004-11-17 13:49:13.247815440 +0100
2     +++ netkit-rsh-0.17/rcp/rcp.c 2004-11-17 13:52:56.638854840 +0100
3     @@ -613,6 +613,7 @@
4     struct stat stb;
5     struct timeval tv[2];
6     enum { YES, NO, DISPLAYED } wrerr;
7     + int werrno = 0;
8     BUF *bp;
9     off_t i, j, size;
10     char ch, *targ;
11     @@ -766,6 +767,7 @@
12     cp = bp->buf;
13     count = 0;
14     wrerr = NO;
15     + werrno = 0;
16     for (i = 0; i < size; i += BUFSIZ) {
17     amt = BUFSIZ;
18     if (i + amt > size)
19     @@ -784,16 +786,20 @@
20     } while (amt > 0);
21     if (count == bp->cnt) {
22     if (wrerr == NO &&
23     - write(ofd, bp->buf, count) != count)
24     + write(ofd, bp->buf, count) != count) {
25     wrerr = YES;
26     + werrno = errno;
27     + }
28     count = 0;
29     cp = bp->buf;
30     }
31     }
32     if (count != 0 && wrerr == NO &&
33     - write(ofd, bp->buf, count) != count)
34     + write(ofd, bp->buf, count) != count) {
35     wrerr = YES;
36     - if (ftruncate(ofd, size)) {
37     + werrno = errno;
38     + }
39     + if (wrerr == NO && ftruncate(ofd, size)) {
40     error("rcp: can't truncate %s: %s\n", np,
41     strerror(errno));
42     wrerr = DISPLAYED;
43     @@ -810,7 +816,7 @@
44     }
45     switch(wrerr) {
46     case YES:
47     - error("rcp: %s: %s\n", np, strerror(errno));
48     + error("rcp: %s: %s\n", np, strerror(werrno));
49     break;
50     case NO:
51     (void)write(rem, "", 1);