X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fftpsbr.c;h=b37d246af7fc4611b26ee89998d5a5f89d27d310;hb=f61367c1118de22149e1ddff4a2c2c2437d758f0;hp=7d6d72b4722281bd21c9f49c5c343eaea4623f5b;hpb=714b5c530ece27ea2835a313013f5b770163403c;p=mmh diff --git a/uip/ftpsbr.c b/uip/ftpsbr.c index 7d6d72b..b37d246 100644 --- a/uip/ftpsbr.c +++ b/uip/ftpsbr.c @@ -261,9 +261,9 @@ bad: ; return NOTOK; } - istore = !strcmp(cmd, "STOR"); + istore = (strcmp(cmd, "STOR")==0); - if ((istdio = !strcmp(local, "-"))) + if ((istdio = strcmp(local, "-")==0)) fp = istore ? stdin : stdout; else if ((fp = fopen(local, istore ? "r" : "w")) == NULL) { @@ -305,57 +305,54 @@ bad: ; close_tcp_socket(data_fd), data_fd = NOTOK; } - } else { - if (ascii) { - int c; - FILE *in; - - if (!(in = fdopen(data_fd, "r"))) { - perror("fdopen"); - goto bad; - } + } else if (ascii) { + int c; + FILE *in; - while ((c = getc(in)) != EOF) { - if (c == '\r') - switch (c = getc(in)) { - case EOF: - case '\0': - c = '\r'; - break; + if (!(in = fdopen(data_fd, "r"))) { + perror("fdopen"); + goto bad; + } - case '\n': - break; + while ((c = getc(in)) != EOF) { + if (c == '\r') + switch (c = getc(in)) { + case EOF: + case '\0': + c = '\r'; + break; - default: - putc('\r', fp); - break; - } + case '\n': + break; - if (putc(c, fp) == EOF) { - perror("putc"); - fclose(in); - data_fd = NOTOK; - goto bad; + default: + putc('\r', fp); + break; } - } - fclose(in); - data_fd = NOTOK; - } else { - while ((cc = read_tcp_socket(data_fd, buffer, - sizeof buffer)) > 0) - if (fwrite(buffer, sizeof *buffer, cc, fp) - == 0) { - perror("fwrite"); - goto bad; - } - if (cc < 0) { - perror("read_tcp_socket"); + if (putc(c, fp) == EOF) { + perror("putc"); + fclose(in); + data_fd = NOTOK; goto bad; } + } - close_tcp_socket(data_fd), data_fd = NOTOK; + fclose(in); + data_fd = NOTOK; + } else { + while ((cc = read_tcp_socket(data_fd, buffer, + sizeof buffer)) > 0) + if (fwrite(buffer, sizeof *buffer, cc, fp) == 0) { + perror("fwrite"); + goto bad; + } + if (cc < 0) { + perror("read_tcp_socket"); + goto bad; } + + close_tcp_socket(data_fd), data_fd = NOTOK; } if (!istdio) @@ -454,7 +451,7 @@ vcommand(int complete, va_list ap) return NOTOK; } - return(getreply(complete, !strcmp(buffer, "QUIT"))); + return(getreply(complete, strcmp(buffer, "QUIT")==0)); }