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) {
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)
return NOTOK;
}
- return(getreply(complete, !strcmp(buffer, "QUIT")));
+ return(getreply(complete, strcmp(buffer, "QUIT")==0));
}