Clean up for lint; change some stderr to stdout; bug fix
authorGregory Minshall <minshall@ucbvax.Berkeley.EDU>
Sat, 8 Mar 1986 04:33:00 +0000 (20:33 -0800)
committerGregory Minshall <minshall@ucbvax.Berkeley.EDU>
Sat, 8 Mar 1986 04:33:00 +0000 (20:33 -0800)
(in ruserpass.c, routine rnetrc()).

SCCS-vsn: usr.bin/ftp/main.c 5.6
SCCS-vsn: usr.bin/ftp/ftp.c 5.9
SCCS-vsn: usr.bin/ftp/ftp_var.h 5.3
SCCS-vsn: usr.bin/ftp/cmds.c 5.5
SCCS-vsn: usr.bin/ftp/domacro.c 1.2
SCCS-vsn: usr.bin/ftp/ruserpass.c 1.3

usr/src/usr.bin/ftp/cmds.c
usr/src/usr.bin/ftp/domacro.c
usr/src/usr.bin/ftp/ftp.c
usr/src/usr.bin/ftp/ftp_var.h
usr/src/usr.bin/ftp/main.c
usr/src/usr.bin/ftp/ruserpass.c

index ee96d20..e6e5c46 100644 (file)
@@ -5,7 +5,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)cmds.c     5.4 (Berkeley) %G%";
+static char sccsid[] = "@(#)cmds.c     5.5 (Berkeley) %G%";
 #endif not lint
 
 /*
 #endif not lint
 
 /*
@@ -21,6 +21,7 @@ static char sccsid[] = "@(#)cmds.c    5.4 (Berkeley) %G%";
 #include <errno.h>
 #include <netdb.h>
 #include <ctype.h>
 #include <errno.h>
 #include <netdb.h>
 #include <ctype.h>
+#include <sys/wait.h>
 
 
 extern char *globerr;
 
 
 extern char *globerr;
@@ -53,9 +54,9 @@ setpeer(argc, argv)
                return;
        }
        if (argc < 2) {
                return;
        }
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(to) ");
                printf("(to) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -80,7 +81,7 @@ setpeer(argc, argv)
        if (host) {
                connected = 1;
                if (autologin)
        if (host) {
                connected = 1;
                if (autologin)
-                       login(argv[1]);
+                       (void) login(argv[1]);
        }
 }
 
        }
 }
 
@@ -139,7 +140,7 @@ settype(argc, argv)
        else
                comret = command("TYPE %s", p->t_mode);
        if (comret == COMPLETE) {
        else
                comret = command("TYPE %s", p->t_mode);
        if (comret == COMPLETE) {
-               strcpy(typename, p->t_name);
+               (void) strcpy(typename, p->t_name);
                type = p->t_type;
        }
 }
                type = p->t_type;
        }
 }
@@ -187,6 +188,7 @@ setebcdic()
 /*
  * Set file transfer mode.
  */
 /*
  * Set file transfer mode.
  */
+/*ARGSUSED*/
 setmode(argc, argv)
        char *argv[];
 {
 setmode(argc, argv)
        char *argv[];
 {
@@ -198,6 +200,7 @@ setmode(argc, argv)
 /*
  * Set file transfer format.
  */
 /*
  * Set file transfer format.
  */
+/*ARGSUSED*/
 setform(argc, argv)
        char *argv[];
 {
 setform(argc, argv)
        char *argv[];
 {
@@ -209,6 +212,7 @@ setform(argc, argv)
 /*
  * Set file transfer structure.
  */
 /*
  * Set file transfer structure.
  */
+/*ARGSUSED*/
 setstruct(argc, argv)
        char *argv[];
 {
 setstruct(argc, argv)
        char *argv[];
 {
@@ -234,9 +238,9 @@ put(argc, argv)
                loc++;
        }
        if (argc < 2) {
                loc++;
        }
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(local-file) ");
                printf("(local-file) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -248,9 +252,9 @@ usage:
                return;
        }
        if (argc < 3) {
                return;
        }
        if (argc < 3) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(remote-file) ");
                printf("(remote-file) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -291,9 +295,9 @@ mput(argc, argv)
        char *tp;
 
        if (argc < 2) {
        char *tp;
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(local-files) ");
                printf("(local-files) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -310,7 +314,7 @@ mput(argc, argv)
        if (proxy) {
                char *cp, *tp2, tmpbuf[MAXPATHLEN];
 
        if (proxy) {
                char *cp, *tp2, tmpbuf[MAXPATHLEN];
 
-               while ((cp = remglob(argc, argv, 0)) != NULL) {
+               while ((cp = remglob(argv,0)) != NULL) {
                        if (*cp == 0) {
                                mflag = 0;
                                continue;
                        if (*cp == 0) {
                                mflag = 0;
                                continue;
@@ -419,9 +423,9 @@ get(argc, argv)
                loc++;
        }
        if (argc < 2) {
                loc++;
        }
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(remote-file) ");
                printf("(remote-file) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -433,9 +437,9 @@ usage:
                return;
        }
        if (argc < 3) {
                return;
        }
        if (argc < 3) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(local-file) ");
                printf("(local-file) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -505,9 +509,9 @@ mget(argc, argv)
        extern jmp_buf jabort;
 
        if (argc < 2) {
        extern jmp_buf jabort;
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(remote-files) ");
                printf("(remote-files) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -521,7 +525,7 @@ mget(argc, argv)
        mflag = 1;
        oldintr = signal(SIGINT,mabort);
        (void) setjmp(jabort);
        mflag = 1;
        oldintr = signal(SIGINT,mabort);
        (void) setjmp(jabort);
-       while ((cp = remglob(argc, argv, proxy)) != NULL) {
+       while ((cp = remglob(argv,proxy)) != NULL) {
                if (*cp == '\0') {
                        mflag = 0;
                        continue;
                if (*cp == '\0') {
                        mflag = 0;
                        continue;
@@ -567,9 +571,9 @@ mget(argc, argv)
 }
 
 char *
 }
 
 char *
-remglob(argc, argv, doswitch)
-       int argc, doswitch;
+remglob(argv,doswitch)
        char *argv[];
        char *argv[];
+       int doswitch;
 {
        char temp[16];
        static char buf[MAXPATHLEN];
 {
        char temp[16];
        static char buf[MAXPATHLEN];
@@ -584,7 +588,7 @@ remglob(argc, argv, doswitch)
                }
                else {
                        if (ftemp) {
                }
                else {
                        if (ftemp) {
-                               fclose(ftemp);
+                               (void) fclose(ftemp);
                                ftemp = NULL;
                        }
                }
                                ftemp = NULL;
                        }
                }
@@ -598,8 +602,8 @@ remglob(argc, argv, doswitch)
                return (cp);
        }
        if (ftemp == NULL) {
                return (cp);
        }
        if (ftemp == NULL) {
-               strcpy(temp, "/tmp/ftpXXXXXX");
-               mktemp(temp);
+               (void) strcpy(temp, "/tmp/ftpXXXXXX");
+               (void) mktemp(temp);
                oldverbose = verbose, verbose = 0;
                oldhash = hash, hash = 0;
                if (doswitch) {
                oldverbose = verbose, verbose = 0;
                oldhash = hash, hash = 0;
                if (doswitch) {
@@ -612,14 +616,14 @@ remglob(argc, argv, doswitch)
                }
                verbose = oldverbose; hash = oldhash;
                ftemp = fopen(temp, "r");
                }
                verbose = oldverbose; hash = oldhash;
                ftemp = fopen(temp, "r");
-               unlink(temp);
+               (void) unlink(temp);
                if (ftemp == NULL) {
                        printf("can't find list of remote files, oops\n");
                        return (NULL);
                }
        }
        if (fgets(buf, sizeof (buf), ftemp) == NULL) {
                if (ftemp == NULL) {
                        printf("can't find list of remote files, oops\n");
                        return (NULL);
                }
        }
        if (fgets(buf, sizeof (buf), ftemp) == NULL) {
-               fclose(ftemp), ftemp = NULL;
+               (void) fclose(ftemp), ftemp = NULL;
                return (NULL);
        }
        if ((cp = index(buf, '\n')) != NULL)
                return (NULL);
        }
        if ((cp = index(buf, '\n')) != NULL)
@@ -638,6 +642,7 @@ onoff(bool)
 /*
  * Show status.
  */
 /*
  * Show status.
  */
+/*ARGSUSED*/
 status(argc, argv)
        char *argv[];
 {
 status(argc, argv)
        char *argv[];
 {
@@ -814,9 +819,9 @@ cd(argc, argv)
 {
 
        if (argc < 2) {
 {
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(remote-directory) ");
                printf("(remote-directory) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -866,9 +871,9 @@ delete(argc, argv)
 {
 
        if (argc < 2) {
 {
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(remote-file) ");
                printf("(remote-file) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -892,9 +897,9 @@ mdelete(argc, argv)
        extern jmp_buf jabort;
 
        if (argc < 2) {
        extern jmp_buf jabort;
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(remote-files) ");
                printf("(remote-files) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -908,7 +913,7 @@ mdelete(argc, argv)
        mflag = 1;
        oldintr = signal(SIGINT, mabort);
        (void) setjmp(jabort);
        mflag = 1;
        oldintr = signal(SIGINT, mabort);
        (void) setjmp(jabort);
-       while ((cp = remglob(argc, argv, 0)) != NULL) {
+       while ((cp = remglob(argv,0)) != NULL) {
                if (*cp == '\0') {
                        mflag = 0;
                        continue;
                if (*cp == '\0') {
                        mflag = 0;
                        continue;
@@ -937,9 +942,9 @@ renamefile(argc, argv)
 {
 
        if (argc < 2) {
 {
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(from-name) ");
                printf("(from-name) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -951,9 +956,9 @@ usage:
                return;
        }
        if (argc < 3) {
                return;
        }
        if (argc < 3) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(to-name) ");
                printf("(to-name) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -1002,17 +1007,17 @@ mls(argc, argv)
        extern jmp_buf jabort;
 
        if (argc < 2) {
        extern jmp_buf jabort;
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(remote-files) ");
                printf("(remote-files) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
        }
        if (argc < 3) {
                makeargv();
                argc = margc;
                argv = margv;
        }
        if (argc < 3) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(local-file) ");
                printf("(local-file) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -1053,32 +1058,34 @@ mls(argc, argv)
 /*
  * Do a shell escape
  */
 /*
  * Do a shell escape
  */
+/*ARGSUSED*/
 shell(argc, argv)
        char *argv[];
 {
 shell(argc, argv)
        char *argv[];
 {
-       int i, pid, status, (*old1)(), (*old2)();
+       int pid, (*old1)(), (*old2)();
        char shellnam[40], *shell, *namep; 
        char shellnam[40], *shell, *namep; 
+       union wait status;
 
        old1 = signal (SIGINT, SIG_IGN);
        old2 = signal (SIGQUIT, SIG_IGN);
        if ((pid = fork()) == 0) {
                for (pid = 3; pid < 20; pid++)
 
        old1 = signal (SIGINT, SIG_IGN);
        old2 = signal (SIGQUIT, SIG_IGN);
        if ((pid = fork()) == 0) {
                for (pid = 3; pid < 20; pid++)
-                       close(pid);
-               signal(SIGINT, SIG_DFL);
-               signal(SIGQUIT, SIG_DFL);
+                       (void) close(pid);
+               (void) signal(SIGINT, SIG_DFL);
+               (void) signal(SIGQUIT, SIG_DFL);
                shell = getenv("SHELL");
                if (shell == NULL)
                        shell = "/bin/sh";
                namep = rindex(shell,'/');
                if (namep == NULL)
                        namep = shell;
                shell = getenv("SHELL");
                if (shell == NULL)
                        shell = "/bin/sh";
                namep = rindex(shell,'/');
                if (namep == NULL)
                        namep = shell;
-               strcpy(shellnam,"-");
-               strcat(shellnam, ++namep);
+               (void) strcpy(shellnam,"-");
+               (void) strcat(shellnam, ++namep);
                if (strcmp(namep, "sh") != 0)
                        shellnam[0] = '+';
                if (debug) {
                        printf ("%s\n", shell);
                if (strcmp(namep, "sh") != 0)
                        shellnam[0] = '+';
                if (debug) {
                        printf ("%s\n", shell);
-                       fflush (stdout);
+                       (void) fflush (stdout);
                }
                if (argc > 1) {
                        execl(shell,shellnam,"-c",altarg,(char *)0);
                }
                if (argc > 1) {
                        execl(shell,shellnam,"-c",altarg,(char *)0);
@@ -1093,8 +1100,8 @@ shell(argc, argv)
        if (pid > 0)
                while (wait(&status) != pid)
                        ;
        if (pid > 0)
                while (wait(&status) != pid)
                        ;
-       signal(SIGINT, old1);
-       signal(SIGQUIT, old2);
+       (void) signal(SIGINT, old1);
+       (void) signal(SIGQUIT, old2);
        if (pid == -1) {
                perror("Try again later");
                code = -1;
        if (pid == -1) {
                perror("Try again later");
                code = -1;
@@ -1112,13 +1119,13 @@ user(argc, argv)
        int argc;
        char **argv;
 {
        int argc;
        char **argv;
 {
-       char acct[80], *getpass();
+       char acct[80], *mygetpass();
        int n, aflag = 0;
 
        if (argc < 2) {
        int n, aflag = 0;
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(username) ");
                printf("(username) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -1131,7 +1138,7 @@ user(argc, argv)
        n = command("USER %s", argv[1]);
        if (n == CONTINUE) {
                if (argc < 3 )
        n = command("USER %s", argv[1]);
        if (n == CONTINUE) {
                if (argc < 3 )
-                       argv[2] = getpass("Password: "), argc++;
+                       argv[2] = mygetpass("Password: "), argc++;
                n = command("PASS %s", argv[2]);
        }
        if (n == CONTINUE) {
                n = command("PASS %s", argv[2]);
        }
        if (n == CONTINUE) {
@@ -1145,7 +1152,7 @@ user(argc, argv)
                aflag++;
        }
        if (n != COMPLETE) {
                aflag++;
        }
        if (n != COMPLETE) {
-               fprintf(stderr, "Login failed.\n");
+               fprintf(stdout, "Login failed.\n");
                return (0);
        }
        if (!aflag && argc == 4) {
                return (0);
        }
        if (!aflag && argc == 4) {
@@ -1172,9 +1179,9 @@ makedir(argc, argv)
 {
 
        if (argc < 2) {
 {
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(directory-name) ");
                printf("(directory-name) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -1195,9 +1202,9 @@ removedir(argc, argv)
 {
 
        if (argc < 2) {
 {
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(directory-name) ");
                printf("(directory-name) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -1220,9 +1227,9 @@ quote(argc, argv)
        char buf[BUFSIZ];
 
        if (argc < 2) {
        char buf[BUFSIZ];
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(command line to send) ");
                printf("(command line to send) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -1232,10 +1239,10 @@ quote(argc, argv)
                code = -1;
                return;
        }
                code = -1;
                return;
        }
-       strcpy(buf, argv[1]);
+       (void) strcpy(buf, argv[1]);
        for (i = 2; i < argc; i++) {
        for (i = 2; i < argc; i++) {
-               strcat(buf, " ");
-               strcat(buf, argv[i]);
+               (void) strcat(buf, " ");
+               (void) strcat(buf, argv[i]);
        }
        if (command(buf) == PRELIM) {
                while (getreply(0) == PRELIM);
        }
        if (command(buf) == PRELIM) {
                while (getreply(0) == PRELIM);
@@ -1301,8 +1308,8 @@ confirm(cmd, file)
        if (!interactive)
                return (1);
        printf("%s %s? ", cmd, file);
        if (!interactive)
                return (1);
        printf("%s %s? ", cmd, file);
-       fflush(stdout);
-       gets(line);
+       (void) fflush(stdout);
+       (void) gets(line);
        return (*line != 'n' && *line != 'N');
 }
 
        return (*line != 'n' && *line != 'N');
 }
 
@@ -1310,7 +1317,7 @@ fatal(msg)
        char *msg;
 {
 
        char *msg;
 {
 
-       fprintf(stderr, "ftp: %s\n");
+       fprintf(stderr, "ftp: %s\n", msg);
        exit(1);
 }
 
        exit(1);
 }
 
@@ -1348,7 +1355,7 @@ account(argc,argv)
        int argc;
        char **argv;
 {
        int argc;
        char **argv;
 {
-       char acct[50], *getpass(), *ap;
+       char acct[50], *mygetpass(), *ap;
 
        if (argc > 1) {
                ++argv;
 
        if (argc > 1) {
                ++argv;
@@ -1363,7 +1370,7 @@ account(argc,argv)
                ap = acct;
        }
        else {
                ap = acct;
        }
        else {
-               ap = getpass("Account:");
+               ap = mygetpass("Account:");
        }
        (void) command("ACCT %s", ap);
 }
        }
        (void) command("ACCT %s", ap);
 }
@@ -1398,9 +1405,9 @@ doproxy(argc,argv)
        extern jmp_buf abortprox;
 
        if (argc < 2) {
        extern jmp_buf abortprox;
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(command) ");
                printf("(command) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -1413,19 +1420,19 @@ doproxy(argc,argv)
        c = getcmd(argv[1]);
        if (c == (struct cmd *) -1) {
                printf("?Ambiguous command\n");
        c = getcmd(argv[1]);
        if (c == (struct cmd *) -1) {
                printf("?Ambiguous command\n");
-               fflush(stdout);
+               (void) fflush(stdout);
                code = -1;
                return;
        }
        if (c == 0) {
                printf("?Invalid command\n");
                code = -1;
                return;
        }
        if (c == 0) {
                printf("?Invalid command\n");
-               fflush(stdout);
+               (void) fflush(stdout);
                code = -1;
                return;
        }
        if (!c->c_proxy) {
                printf("?Invalid proxy command\n");
                code = -1;
                return;
        }
        if (!c->c_proxy) {
                printf("?Invalid proxy command\n");
-               fflush(stdout);
+               (void) fflush(stdout);
                code = -1;
                return;
        }
                code = -1;
                return;
        }
@@ -1437,7 +1444,7 @@ doproxy(argc,argv)
        pswitch(1);
        if (c->c_conn && !connected) {
                printf("Not connected\n");
        pswitch(1);
        if (c->c_conn && !connected) {
                printf("Not connected\n");
-               fflush(stdout);
+               (void) fflush(stdout);
                pswitch(0);
                (void) signal(SIGINT, oldintr);
                code = -1;
                pswitch(0);
                (void) signal(SIGINT, oldintr);
                code = -1;
@@ -1531,9 +1538,9 @@ setnmap(argc, argv)
                return;
        }
        if (argc < 3) {
                return;
        }
        if (argc < 3) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(mapout) ");
                printf("(mapout) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -1756,9 +1763,9 @@ macdef(argc, argv)
                return;
        }
        if (argc < 2) {
                return;
        }
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(macro name) ");
                printf("(macro name) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -1771,7 +1778,7 @@ macdef(argc, argv)
        if (interactive) {
                printf("Enter macro line by line, terminating it with a null line\n");
        }
        if (interactive) {
                printf("Enter macro line by line, terminating it with a null line\n");
        }
-       strncpy(macros[macnum].mac_name, argv[1], 8);
+       (void) strncpy(macros[macnum].mac_name, argv[1], 8);
        if (macnum == 0) {
                macros[macnum].mac_start = macbuf;
        }
        if (macnum == 0) {
                macros[macnum].mac_start = macbuf;
        }
index 778fac9..e19c5b3 100644 (file)
@@ -1,3 +1,4 @@
+
 /*
  * Copyright (c) 1985 Regents of the University of California.
  * All rights reserved.  The Berkeley software License Agreement
 /*
  * Copyright (c) 1985 Regents of the University of California.
  * All rights reserved.  The Berkeley software License Agreement
@@ -5,7 +6,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)domacro.c  1.1 (Berkeley) %G%";
+static char sccsid[] = "@(#)domacro.c  1.2 (Berkeley) %G%";
 #endif not lint
 
 #include "ftp_var.h"
 #endif not lint
 
 #include "ftp_var.h"
@@ -16,24 +17,22 @@ static char sccsid[] = "@(#)domacro.c       1.1 (Berkeley) %G%";
 #include <ctype.h>
 #include <sys/ttychars.h>
 
 #include <ctype.h>
 #include <sys/ttychars.h>
 
-jmp_buf macabort;
-
 domacro(argc, argv)
        int argc;
        char *argv[];
 {
        register int i, j;
        register char *cp1, *cp2;
 domacro(argc, argv)
        int argc;
        char *argv[];
 {
        register int i, j;
        register char *cp1, *cp2;
-       int count = 2, loopflg = 0, (*oldintr)();
-       char **gargs, **cpp, line2[200];
+       int count = 2, loopflg = 0;
+       char line2[200];
        extern char **glob(), *globerr;
        struct cmd *getcmd(), *c;
        extern struct cmd cmdtab[];
 
        if (argc < 2) {
        extern char **glob(), *globerr;
        struct cmd *getcmd(), *c;
        extern struct cmd cmdtab[];
 
        if (argc < 2) {
-               strcat(line, " ");
+               (void) strcat(line, " ");
                printf("(macro name) ");
                printf("(macro name) ");
-               gets(&line[strlen(line)]);
+               (void) gets(&line[strlen(line)]);
                makeargv();
                argc = margc;
                argv = margv;
                makeargv();
                argc = margc;
                argv = margv;
@@ -53,7 +52,7 @@ domacro(argc, argv)
                code = -1;
                return;
        }
                code = -1;
                return;
        }
-       strcpy(line2, line);
+       (void) strcpy(line2, line);
 TOP:
        cp1 = macros[i].mac_start;
        while (cp1 != macros[i].mac_end) {
 TOP:
        cp1 = macros[i].mac_start;
        while (cp1 != macros[i].mac_end) {
@@ -74,7 +73,7 @@ TOP:
                                    }
                                    cp1--;
                                    if (argc - 2 >= j) {
                                    }
                                    cp1--;
                                    if (argc - 2 >= j) {
-                                       strcpy(cp2, argv[j+1]);
+                                       (void) strcpy(cp2, argv[j+1]);
                                        cp2 += strlen(argv[j+1]);
                                    }
                                    break;
                                        cp2 += strlen(argv[j+1]);
                                    }
                                    break;
@@ -83,7 +82,7 @@ TOP:
                                        loopflg = 1;
                                        cp1++;
                                        if (count < argc) {
                                        loopflg = 1;
                                        cp1++;
                                        if (count < argc) {
-                                          strcpy(cp2, argv[count]);
+                                          (void) strcpy(cp2, argv[count]);
                                           cp2 += strlen(argv[count]);
                                        }
                                        break;
                                           cp2 += strlen(argv[count]);
                                        }
                                        break;
@@ -118,9 +117,9 @@ TOP:
                        }
                        (*c->c_handler)(margc, margv);
                        if (bell && c->c_bell) {
                        }
                        (*c->c_handler)(margc, margv);
                        if (bell && c->c_bell) {
-                               putchar(CTRL(g));
+                               (void) putchar(CTRL(g));
                        }
                        }
-                       strcpy(line, line2);
+                       (void) strcpy(line, line2);
                        makeargv();
                        argc = margc;
                        argv = margv;
                        makeargv();
                        argc = margc;
                        argv = margv;
index 5c47733..7002282 100644 (file)
@@ -5,7 +5,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)ftp.c      5.8 (Berkeley) %G%";
+static char sccsid[] = "@(#)ftp.c      5.9 (Berkeley) %G%";
 #endif not lint
 
 #include "ftp_var.h"
 #endif not lint
 
 #include "ftp_var.h"
@@ -14,6 +14,7 @@ static char sccsid[] = "@(#)ftp.c     5.8 (Berkeley) %G%";
 #include <sys/ioctl.h>
 #include <sys/socket.h>
 #include <sys/time.h>
 #include <sys/ioctl.h>
 #include <sys/socket.h>
 #include <sys/time.h>
+#include <sys/types.h>
 
 #include <netinet/in.h>
 #include <arpa/ftp.h>
 
 #include <netinet/in.h>
 #include <arpa/ftp.h>
@@ -34,6 +35,7 @@ int   abrtflag = 0;
 int    ptflag = 0;
 int    connected;
 struct sockaddr_in myctladdr;
 int    ptflag = 0;
 int    connected;
 struct sockaddr_in myctladdr;
+uid_t  getuid();
 
 FILE   *cin, *cout;
 FILE   *dataconn();
 
 FILE   *cin, *cout;
 FILE   *dataconn();
@@ -74,18 +76,18 @@ hookup(host, port)
                return (0);
        }
        hisctladdr.sin_port = port;
                return (0);
        }
        hisctladdr.sin_port = port;
-       while (connect(s, (caddr_t)&hisctladdr, sizeof (hisctladdr)) < 0) {
+       while (connect(s, &hisctladdr, sizeof (hisctladdr)) < 0) {
                if (hp && hp->h_addr_list[1]) {
                        int oerrno = errno;
 
                        fprintf(stderr, "ftp: connect to address %s: ",
                                inet_ntoa(hisctladdr.sin_addr));
                        errno = oerrno;
                if (hp && hp->h_addr_list[1]) {
                        int oerrno = errno;
 
                        fprintf(stderr, "ftp: connect to address %s: ",
                                inet_ntoa(hisctladdr.sin_addr));
                        errno = oerrno;
-                       perror(0);
+                       perror((char *) 0);
                        hp->h_addr_list++;
                        bcopy(hp->h_addr_list[0],
                             (caddr_t)&hisctladdr.sin_addr, hp->h_length);
                        hp->h_addr_list++;
                        bcopy(hp->h_addr_list[0],
                             (caddr_t)&hisctladdr.sin_addr, hp->h_length);
-                       fprintf(stderr, "Trying %s...\n",
+                       fprintf(stdout, "Trying %s...\n",
                                inet_ntoa(hisctladdr.sin_addr));
                        continue;
                }
                                inet_ntoa(hisctladdr.sin_addr));
                        continue;
                }
@@ -104,9 +106,9 @@ hookup(host, port)
        if (cin == NULL || cout == NULL) {
                fprintf(stderr, "ftp: fdopen failed.\n");
                if (cin)
        if (cin == NULL || cout == NULL) {
                fprintf(stderr, "ftp: fdopen failed.\n");
                if (cin)
-                       fclose(cin);
+                       (void) fclose(cin);
                if (cout)
                if (cout)
-                       fclose(cout);
+                       (void) fclose(cout);
                code = -1;
                goto bad;
        }
                code = -1;
                goto bad;
        }
@@ -114,9 +116,9 @@ hookup(host, port)
                printf("Connected to %s.\n", hostname);
        if (getreply(0) != 2) {         /* read startup message from server */
                if (cin)
                printf("Connected to %s.\n", hostname);
        if (getreply(0) != 2) {         /* read startup message from server */
                if (cin)
-                       fclose(cin);
+                       (void) fclose(cin);
                if (cout)
                if (cout)
-                       fclose(cout);
+                       (void) fclose(cout);
                code = -1;
                goto bad;
        }
                code = -1;
                goto bad;
        }
@@ -139,7 +141,7 @@ hookup(host, port)
        verbose = oldverbose;
        return (hostname);
 bad:
        verbose = oldverbose;
        return (hostname);
 bad:
-       close(s);
+       (void) close(s);
        return ((char *)0);
 }
 
        return ((char *)0);
 }
 
@@ -147,7 +149,7 @@ login(host)
        char *host;
 {
        char tmp[80];
        char *host;
 {
        char tmp[80];
-       char *user, *pass, *acct, *getlogin(), *getpass();
+       char *user, *pass, *acct, *getlogin(), *mygetpass();
        int n, aflag = 0;
 
        user = pass = acct = 0;
        int n, aflag = 0;
 
        user = pass = acct = 0;
@@ -176,12 +178,12 @@ login(host)
        n = command("USER %s", user);
        if (n == CONTINUE) {
                if (pass == NULL)
        n = command("USER %s", user);
        if (n == CONTINUE) {
                if (pass == NULL)
-                       pass = getpass("Password:");
+                       pass = mygetpass("Password:");
                n = command("PASS %s", pass);
        }
        if (n == CONTINUE) {
                aflag++;
                n = command("PASS %s", pass);
        }
        if (n == CONTINUE) {
                aflag++;
-               acct = getpass("Account:");
+               acct = mygetpass("Account:");
                n = command("ACCT %s", acct);
        }
        if (n != COMPLETE) {
                n = command("ACCT %s", acct);
        }
        if (n != COMPLETE) {
@@ -194,7 +196,7 @@ login(host)
                return(1);
        for (n = 0; n < macnum; ++n) {
                if (!strcmp("init", macros[n].mac_name)) {
                return(1);
        for (n = 0; n < macnum; ++n) {
                if (!strcmp("init", macros[n].mac_name)) {
-                       strcpy(line, "$init");
+                       (void) strcpy(line, "$init");
                        makeargv();
                        domacro(margc, margv);
                        break;
                        makeargv();
                        domacro(margc, margv);
                        break;
@@ -214,7 +216,7 @@ cmdabort()
                longjmp(ptabort,1);
 }
 
                longjmp(ptabort,1);
 }
 
-/*VARARGS 1*/
+/*VARARGS1*/
 command(fmt, args)
        char *fmt;
 {
 command(fmt, args)
        char *fmt;
 {
@@ -279,7 +281,7 @@ getreply(expecteof)
                                if (proxflag &&
                                   (dig == 1 || dig == 5 && verbose == 0))
                                        printf("%s:",hostname);
                                if (proxflag &&
                                   (dig == 1 || dig == 5 && verbose == 0))
                                        printf("%s:",hostname);
-                               putchar(c);
+                               (void) putchar(c);
                        }
                        if (dig < 4 && isdigit(c))
                                code = code * 10 + (c - '0');
                        }
                        if (dig < 4 && isdigit(c))
                                code = code * 10 + (c - '0');
@@ -304,7 +306,7 @@ getreply(expecteof)
                                n = c;
                }
                if (verbose > 0 || verbose > -1 && n == '5') {
                                n = c;
                }
                if (verbose > 0 || verbose > -1 && n == '5') {
-                       putchar(c);
+                       (void) putchar(c);
                        (void) fflush (stdout);
                }
                if (continuation && code != originalcode) {
                        (void) fflush (stdout);
                }
                if (continuation && code != originalcode) {
@@ -324,16 +326,16 @@ getreply(expecteof)
 }
 
 empty(mask, sec)
 }
 
 empty(mask, sec)
-       long mask;
+       struct fd_set mask;
        int sec;
 {
        struct timeval t;
 
        t.tv_sec = (long) sec;
        t.tv_usec = 0;
        int sec;
 {
        struct timeval t;
 
        t.tv_sec = (long) sec;
        t.tv_usec = 0;
-       if (select(20, &mask, 0, 0, &t) < 0)
+       if (select(20, &mask, (struct fd_set *) 0, (struct fd_set *) 0, &t) < 0)
                return(-1);
                return(-1);
-       return (mask);
+       return (1);
 }
 
 jmp_buf        sendabort;
 }
 
 jmp_buf        sendabort;
@@ -351,8 +353,8 @@ abortsend()
 sendrequest(cmd, local, remote)
        char *cmd, *local, *remote;
 {
 sendrequest(cmd, local, remote)
        char *cmd, *local, *remote;
 {
-       FILE *fin, *dout = 0, *popen();
-       int (*closefunc)(), pclose(), fclose(), (*oldintr)(), (*oldintp)();
+       FILE *fin, *dout = 0, *mypopen();
+       int (*closefunc)(), mypclose(), fclose(), (*oldintr)(), (*oldintp)();
        int abortsend();
        char buf[BUFSIZ];
        long bytes = 0, hashbytes = sizeof (buf);
        int abortsend();
        char buf[BUFSIZ];
        long bytes = 0, hashbytes = sizeof (buf);
@@ -387,7 +389,7 @@ sendrequest(cmd, local, remote)
                fin = stdin;
        else if (*local == '|') {
                oldintp = signal(SIGPIPE,SIG_IGN);
                fin = stdin;
        else if (*local == '|') {
                oldintp = signal(SIGPIPE,SIG_IGN);
-               fin = popen(local + 1, "r");
+               fin = mypopen(local + 1, "r");
                if (fin == NULL) {
                        perror(local + 1);
                        (void) signal(SIGINT, oldintr);
                if (fin == NULL) {
                        perror(local + 1);
                        (void) signal(SIGINT, oldintr);
@@ -395,7 +397,7 @@ sendrequest(cmd, local, remote)
                        code = -1;
                        return;
                }
                        code = -1;
                        return;
                }
-               closefunc = pclose;
+               closefunc = mypclose;
        } else {
                fin = fopen(local, "r");
                if (fin == NULL) {
        } else {
                fin = fopen(local, "r");
                if (fin == NULL) {
@@ -407,7 +409,7 @@ sendrequest(cmd, local, remote)
                closefunc = fclose;
                if (fstat(fileno(fin), &st) < 0 ||
                    (st.st_mode&S_IFMT) != S_IFREG) {
                closefunc = fclose;
                if (fstat(fileno(fin), &st) < 0 ||
                    (st.st_mode&S_IFMT) != S_IFREG) {
-                       fprintf(stderr, "%s: not a plain file.\n", local);
+                       fprintf(stdout, "%s: not a plain file.\n", local);
                        (void) signal(SIGINT, oldintr);
                        code = -1;
                        return;
                        (void) signal(SIGINT, oldintr);
                        code = -1;
                        return;
@@ -439,7 +441,7 @@ sendrequest(cmd, local, remote)
        dout = dataconn("w");
        if (dout == NULL)
                goto abort;
        dout = dataconn("w");
        if (dout == NULL)
                goto abort;
-       gettimeofday(&start, (struct timezone *)0);
+       (void) gettimeofday(&start, (struct timezone *)0);
        switch (type) {
 
        case TYPE_I:
        switch (type) {
 
        case TYPE_I:
@@ -450,13 +452,13 @@ sendrequest(cmd, local, remote)
                                break;
                        bytes += c;
                        if (hash) {
                                break;
                        bytes += c;
                        if (hash) {
-                               putchar('#');
-                               fflush(stdout);
+                               (void) putchar('#');
+                               (void) fflush(stdout);
                        }
                }
                if (hash && bytes > 0) {
                        }
                }
                if (hash && bytes > 0) {
-                       putchar('\n');
-                       fflush(stdout);
+                       (void) putchar('\n');
+                       (void) fflush(stdout);
                }
                if (c < 0)
                        perror(local);
                }
                if (c < 0)
                        perror(local);
@@ -468,27 +470,27 @@ sendrequest(cmd, local, remote)
                while ((c = getc(fin)) != EOF) {
                        if (c == '\n') {
                                while (hash && (bytes >= hashbytes)) {
                while ((c = getc(fin)) != EOF) {
                        if (c == '\n') {
                                while (hash && (bytes >= hashbytes)) {
-                                       putchar('#');
-                                       fflush(stdout);
+                                       (void) putchar('#');
+                                       (void) fflush(stdout);
                                        hashbytes += sizeof (buf);
                                }
                                if (ferror(dout))
                                        break;
                                        hashbytes += sizeof (buf);
                                }
                                if (ferror(dout))
                                        break;
-                               putc('\r', dout);
+                               (void) putc('\r', dout);
                                bytes++;
                        }
                                bytes++;
                        }
-                       putc(c, dout);
+                       (void) putc(c, dout);
                        bytes++;
        /*              if (c == '\r') {                                */
                        bytes++;
        /*              if (c == '\r') {                                */
-       /*                      putc('\0', dout);  /* this violates rfc */
+       /*              (void)  putc('\0', dout);  /* this violates rfc */
        /*                      bytes++;                                */
        /*              }                                               */      
                }
                if (hash) {
                        if (bytes < hashbytes)
        /*                      bytes++;                                */
        /*              }                                               */      
                }
                if (hash) {
                        if (bytes < hashbytes)
-                               putchar('#');
-                       putchar('\n');
-                       fflush(stdout);
+                               (void) putchar('#');
+                       (void) putchar('\n');
+                       (void) fflush(stdout);
                }
                if (ferror(fin))
                        perror(local);
                }
                if (ferror(fin))
                        perror(local);
@@ -496,7 +498,7 @@ sendrequest(cmd, local, remote)
                        perror("netout");
                break;
        }
                        perror("netout");
                break;
        }
-       gettimeofday(&stop, (struct timezone *)0);
+       (void) gettimeofday(&stop, (struct timezone *)0);
        if (closefunc != NULL)
                (*closefunc)(fin);
        (void) fclose(dout);
        if (closefunc != NULL)
                (*closefunc)(fin);
        (void) fclose(dout);
@@ -506,7 +508,7 @@ sendrequest(cmd, local, remote)
                ptransfer("sent", bytes, &start, &stop, local, remote);
        return;
 abort:
                ptransfer("sent", bytes, &start, &stop, local, remote);
        return;
 abort:
-       gettimeofday(&stop, (struct timezone *)0);
+       (void) gettimeofday(&stop, (struct timezone *)0);
        (void) signal(SIGINT, oldintr);
        if (oldintp)
                (void) signal(SIGPIPE, oldintp);
        (void) signal(SIGINT, oldintr);
        if (oldintp)
                (void) signal(SIGPIPE, oldintp);
@@ -543,11 +545,12 @@ abortrecv()
 recvrequest(cmd, local, remote, mode)
        char *cmd, *local, *remote, *mode;
 {
 recvrequest(cmd, local, remote, mode)
        char *cmd, *local, *remote, *mode;
 {
-       FILE *fout, *din = 0, *popen();
-       int (*closefunc)(), pclose(), fclose(), (*oldintr)(), (*oldintp)(); 
+       FILE *fout, *din = 0, *mypopen();
+       int (*closefunc)(), mypclose(), fclose(), (*oldintr)(), (*oldintp)(); 
        int abortrecv(), oldverbose, oldtype = 0, tcrflag;
        char buf[BUFSIZ], *gunique();
        int abortrecv(), oldverbose, oldtype = 0, tcrflag;
        char buf[BUFSIZ], *gunique();
-       long bytes = 0, hashbytes = sizeof (buf), mask;
+       long bytes = 0, hashbytes = sizeof (buf);
+       struct fd_set mask;
        register int c, d;
        struct timeval start, stop;
 
        register int c, d;
        struct timeval start, stop;
 
@@ -679,12 +682,12 @@ recvrequest(cmd, local, remote, mode)
                fout = stdout;
        else if (*local == '|') {
                oldintp = signal(SIGPIPE, SIG_IGN);
                fout = stdout;
        else if (*local == '|') {
                oldintp = signal(SIGPIPE, SIG_IGN);
-               fout = popen(local + 1, "w");
+               fout = mypopen(local + 1, "w");
                if (fout == NULL) {
                        perror(local+1);
                        goto abort;
                }
                if (fout == NULL) {
                        perror(local+1);
                        goto abort;
                }
-               closefunc = pclose;
+               closefunc = mypclose;
        }
        else {
                fout = fopen(local, mode);
        }
        else {
                fout = fopen(local, mode);
@@ -694,7 +697,7 @@ recvrequest(cmd, local, remote, mode)
                }
                closefunc = fclose;
        }
                }
                closefunc = fclose;
        }
-       gettimeofday(&start, (struct timezone *)0);
+       (void) gettimeofday(&start, (struct timezone *)0);
        switch (type) {
 
        case TYPE_I:
        switch (type) {
 
        case TYPE_I:
@@ -705,13 +708,13 @@ recvrequest(cmd, local, remote, mode)
                                break;
                        bytes += c;
                        if (hash) {
                                break;
                        bytes += c;
                        if (hash) {
-                               putchar('#');
-                               fflush(stdout);
+                               (void) putchar('#');
+                               (void) fflush(stdout);
                        }
                }
                if (hash && bytes > 0) {
                        }
                }
                if (hash && bytes > 0) {
-                       putchar('\n');
-                       fflush(stdout);
+                       (void) putchar('\n');
+                       (void) fflush(stdout);
                }
                if (c < 0)
                        perror("netin");
                }
                if (c < 0)
                        perror("netin");
@@ -723,29 +726,29 @@ recvrequest(cmd, local, remote, mode)
                while ((c = getc(din)) != EOF) {
                        if (c == '\r') {
                                while (hash && (bytes >= hashbytes)) {
                while ((c = getc(din)) != EOF) {
                        if (c == '\r') {
                                while (hash && (bytes >= hashbytes)) {
-                                       putchar('#');
-                                       fflush(stdout);
+                                       (void) putchar('#');
+                                       (void) fflush(stdout);
                                        hashbytes += sizeof (buf);
                                }
                                bytes++;
                                if ((c = getc(din)) != '\n' || tcrflag) {
                                        if (ferror (fout))
                                                break;
                                        hashbytes += sizeof (buf);
                                }
                                bytes++;
                                if ((c = getc(din)) != '\n' || tcrflag) {
                                        if (ferror (fout))
                                                break;
-                                       putc ('\r', fout);
+                                       (void) putc ('\r', fout);
                                }
                                /*if (c == '\0') {
                                        bytes++;
                                        continue;
                                }*/
                        }
                                }
                                /*if (c == '\0') {
                                        bytes++;
                                        continue;
                                }*/
                        }
-                       putc (c, fout);
+                       (void) putc (c, fout);
                        bytes++;
                }
                if (hash) {
                        if (bytes < hashbytes)
                        bytes++;
                }
                if (hash) {
                        if (bytes < hashbytes)
-                               putchar('#');
-                       putchar('\n');
-                       fflush(stdout);
+                               (void) putchar('#');
+                       (void) putchar('\n');
+                       (void) fflush(stdout);
                }
                if (ferror (din))
                        perror ("netin");
                }
                if (ferror (din))
                        perror ("netin");
@@ -755,10 +758,10 @@ recvrequest(cmd, local, remote, mode)
        }
        if (closefunc != NULL)
                (*closefunc)(fout);
        }
        if (closefunc != NULL)
                (*closefunc)(fout);
-       signal(SIGINT, oldintr);
+       (void) signal(SIGINT, oldintr);
        if (oldintp)
                (void) signal(SIGPIPE, oldintp);
        if (oldintp)
                (void) signal(SIGPIPE, oldintp);
-       gettimeofday(&stop, (struct timezone *)0);
+       (void) gettimeofday(&stop, (struct timezone *)0);
        (void) fclose(din);
        (void) getreply(0);
        if (bytes > 0 && verbose)
        (void) fclose(din);
        (void) getreply(0);
        if (bytes > 0 && verbose)
@@ -785,7 +788,7 @@ abort:
 /* if server command parser understands TELNET commands, abort using */
 /* recommended IP,SYNC sequence                                      */
 
 /* if server command parser understands TELNET commands, abort using */
 /* recommended IP,SYNC sequence                                      */
 
-       gettimeofday(&stop, (struct timezone *)0);
+       (void) gettimeofday(&stop, (struct timezone *)0);
        if (oldintp)
                (void) signal(SIGPIPE, oldintr);
        (void) signal(SIGINT,SIG_IGN);
        if (oldintp)
                (void) signal(SIGPIPE, oldintr);
        (void) signal(SIGINT,SIG_IGN);
@@ -822,18 +825,23 @@ abort:
        }
        fprintf(cout,"ABOR\r\n");
        (void) fflush(cout);
        }
        fprintf(cout,"ABOR\r\n");
        (void) fflush(cout);
-       mask = (1 << fileno(cin)) | (din ? (1 << fileno(din)) : 0);
-       if ((mask = empty(mask,10)) < 0) {
+       FD_ZERO((char *) &mask);
+       FD_SET(fileno(cin), &mask);
+       if (din) { 
+               FD_SET(fileno(din), &mask);
+       }
+       if (empty(mask,10) < 0) {
                perror("abort");
                code = -1;
                lostpeer();
        }
                perror("abort");
                code = -1;
                lostpeer();
        }
-       if (din && mask & (1 << fileno(din)))
+       if (din && FD_ISSET(fileno(din), &mask)) {
                while ((c = read(fileno(din), buf, sizeof (buf))) > 0)
                        ;
                while ((c = read(fileno(din), buf, sizeof (buf))) > 0)
                        ;
+       }
        if ((c = getreply(0)) == ERROR) { /* needed for nic style abort */
                if (data >= 0) {
        if ((c = getreply(0)) == ERROR) { /* needed for nic style abort */
                if (data >= 0) {
-                       close(data);
+                       (void) close(data);
                        data = -1;
                }
                (void) getreply(0);
                        data = -1;
                }
                (void) getreply(0);
@@ -864,7 +872,7 @@ initconn()
 {
        register char *p, *a;
        int result, len, tmpno = 0;
 {
        register char *p, *a;
        int result, len, tmpno = 0;
-       int on = 1;
+       char on = 1;
 
 noport:
        data_addr = myctladdr;
 
 noport:
        data_addr = myctladdr;
@@ -884,7 +892,7 @@ noport:
                        perror("ftp: setsockopt (resuse address)");
                        goto bad;
                }
                        perror("ftp: setsockopt (resuse address)");
                        goto bad;
                }
-       if (bind(data, (char *)&data_addr, sizeof (data_addr), 0) < 0) {
+       if (bind(data, (struct sockaddr *)&data_addr, sizeof (data_addr)) < 0) {
                perror("ftp: bind");
                goto bad;
        }
                perror("ftp: bind");
                goto bad;
        }
@@ -930,7 +938,7 @@ dataconn(mode)
        struct sockaddr_in from;
        int s, fromlen = sizeof (from);
 
        struct sockaddr_in from;
        int s, fromlen = sizeof (from);
 
-       s = accept(data, &from, &fromlen, 0);
+       s = accept(data, (struct sockaddr *) &from, &fromlen);
        if (s < 0) {
                perror("ftp: accept");
                (void) close(data), data = -1;
        if (s < 0) {
                perror("ftp: accept");
                (void) close(data), data = -1;
@@ -961,7 +969,7 @@ ptransfer(direction, bytes, t0, t1, local, remote)
                bytes, direction, s, bs / 1024.);
 }
 
                bytes, direction, s, bs / 1024.);
 }
 
-tvadd(tsum, t0)
+/*tvadd(tsum, t0)
        struct timeval *tsum, *t0;
 {
 
        struct timeval *tsum, *t0;
 {
 
@@ -969,7 +977,7 @@ tvadd(tsum, t0)
        tsum->tv_usec += t0->tv_usec;
        if (tsum->tv_usec > 1000000)
                tsum->tv_sec++, tsum->tv_usec -= 1000000;
        tsum->tv_usec += t0->tv_usec;
        if (tsum->tv_usec > 1000000)
                tsum->tv_sec++, tsum->tv_usec -= 1000000;
-}
+} */
 
 tvsub(tdiff, t1, t0)
        struct timeval *tdiff, *t1, *t0;
 
 tvsub(tdiff, t1, t0)
        struct timeval *tdiff, *t1, *t0;
@@ -1033,7 +1041,7 @@ pswitch(flag)
        }
        ip->connect = connected;
        connected = op->connect;
        }
        ip->connect = connected;
        connected = op->connect;
-       strncpy(ip->name, hostname, 31);
+       (void) strncpy(ip->name, hostname, 31);
        (ip->name)[strlen(ip->name)] = '\0';
        hostname = op->name;
        ip->hctl = hisctladdr;
        (ip->name)[strlen(ip->name)] = '\0';
        hostname = op->name;
        ip->hctl = hisctladdr;
@@ -1060,20 +1068,20 @@ pswitch(flag)
        mcase = op->mcse;
        ip->ntflg = ntflag;
        ntflag = op->ntflg;
        mcase = op->mcse;
        ip->ntflg = ntflag;
        ntflag = op->ntflg;
-       strncpy(ip->nti, ntin, 16);
+       (void) strncpy(ip->nti, ntin, 16);
        (ip->nti)[strlen(ip->nti)] = '\0';
        (ip->nti)[strlen(ip->nti)] = '\0';
-       strcpy(ntin, op->nti);
-       strncpy(ip->nto, ntout, 16);
+       (void) strcpy(ntin, op->nti);
+       (void) strncpy(ip->nto, ntout, 16);
        (ip->nto)[strlen(ip->nto)] = '\0';
        (ip->nto)[strlen(ip->nto)] = '\0';
-       strcpy(ntout, op->nto);
+       (void) strcpy(ntout, op->nto);
        ip->mapflg = mapflag;
        mapflag = op->mapflg;
        ip->mapflg = mapflag;
        mapflag = op->mapflg;
-       strncpy(ip->mi, mapin, MAXPATHLEN - 1);
+       (void) strncpy(ip->mi, mapin, MAXPATHLEN - 1);
        (ip->mi)[strlen(ip->mi)] = '\0';
        (ip->mi)[strlen(ip->mi)] = '\0';
-       strcpy(mapin, op->mi);
-       strncpy(ip->mo, mapout, MAXPATHLEN - 1);
+       (void) strcpy(mapin, op->mi);
+       (void) strncpy(ip->mo, mapout, MAXPATHLEN - 1);
        (ip->mo)[strlen(ip->mo)] = '\0';
        (ip->mo)[strlen(ip->mo)] = '\0';
-       strcpy(mapout, op->mo);
+       (void) strcpy(mapout, op->mo);
        (void) signal(SIGINT, oldintr);
        if (abrtflag) {
                abrtflag = 0;
        (void) signal(SIGINT, oldintr);
        if (abrtflag) {
                abrtflag = 0;
@@ -1087,7 +1095,7 @@ int ptabflg;
 abortpt()
 {
        printf("\n");
 abortpt()
 {
        printf("\n");
-       fflush(stdout);
+       (void) fflush(stdout);
        ptabflg++;
        mflag = 0;
        abrtflag = 0;
        ptabflg++;
        mflag = 0;
        abrtflag = 0;
@@ -1100,7 +1108,7 @@ proxtrans(cmd, local, remote)
        int (*oldintr)(), abortpt(), tmptype, oldtype = 0, secndflag = 0;
        extern jmp_buf ptabort;
        char *cmd2;
        int (*oldintr)(), abortpt(), tmptype, oldtype = 0, secndflag = 0;
        extern jmp_buf ptabort;
        char *cmd2;
-       long mask;
+       struct fd_set mask;
 
        if (strcmp(cmd, "RETR"))
                cmd2 = "RETR";
 
        if (strcmp(cmd, "RETR"))
                cmd2 = "RETR";
@@ -1248,8 +1256,9 @@ abort:
                        if (cpend) {
                                fprintf(cout,"ABOR\r\n");
                                (void) fflush(cout);
                        if (cpend) {
                                fprintf(cout,"ABOR\r\n");
                                (void) fflush(cout);
-                               mask = 1 << fileno(cin);
-                               if ((mask = empty(mask,10)) < 0) {
+                               FD_ZERO((char *) &mask);
+                               FD_SET(fileno(cin), &mask);
+                               if (empty(mask,10) < 0) {
                                        perror("abort");
                                        if (ptabflg)
                                                code = -1;
                                        perror("abort");
                                        if (ptabflg)
                                                code = -1;
@@ -1278,8 +1287,9 @@ abort:
        if (cpend) {
                fprintf(cout,"ABOR\r\n");
                (void) fflush(cout);
        if (cpend) {
                fprintf(cout,"ABOR\r\n");
                (void) fflush(cout);
-               mask = 1 << fileno(cin);
-               if ((mask = empty(mask,10)) < 0) {
+               FD_ZERO((char *) &mask);
+               FD_SET(fileno(cin), &mask);
+               if ((empty(mask,10)) < 0) {
                        perror("abort");
                        if (ptabflg)
                                code = -1;
                        perror("abort");
                        if (ptabflg)
                                code = -1;
@@ -1321,8 +1331,9 @@ abort:
                        if (cpend) {
                                fprintf(cout,"ABOR\r\n");
                                (void) fflush(cout);
                        if (cpend) {
                                fprintf(cout,"ABOR\r\n");
                                (void) fflush(cout);
-                               mask = 1 << fileno(cin);
-                               if ((mask = empty(mask,10)) < 0) {
+                               FD_ZERO((char *) &mask);
+                               FD_SET(fileno(cin), &mask);
+                               if (empty(mask,10) < 0) {
                                        perror("abort");
                                        if (ptabflg)
                                                code = -1;
                                        perror("abort");
                                        if (ptabflg)
                                                code = -1;
@@ -1351,8 +1362,9 @@ abort:
        if (cpend) {
                fprintf(cout,"ABOR\r\n");
                (void) fflush(cout);
        if (cpend) {
                fprintf(cout,"ABOR\r\n");
                (void) fflush(cout);
-               mask = 1 << fileno(cin);
-               if ((mask = empty(mask,10)) < 0) {
+               FD_ZERO((char *) &mask);
+               FD_SET(fileno(cin), &mask);
+               if (empty(mask,10) < 0) {
                        perror("abort");
                        if (ptabflg)
                                code = -1;
                        perror("abort");
                        if (ptabflg)
                                code = -1;
@@ -1363,8 +1375,9 @@ abort:
        }
        pswitch(!proxy);
        if (cpend) {
        }
        pswitch(!proxy);
        if (cpend) {
-               mask = 1 << fileno(cin);
-               if ((mask = empty(mask,10)) < 0) {
+               FD_ZERO((char *) &mask);
+               FD_SET(fileno(cin), &mask);
+               if (empty(mask,10) < 0) {
                        perror("abort");
                        if (ptabflg)
                                code = -1;
                        perror("abort");
                        if (ptabflg)
                                code = -1;
@@ -1399,17 +1412,20 @@ abort:
 
 reset()
 {
 
 reset()
 {
-       long mask;
+       struct fd_set mask;
+       int nfnd = 1;
 
 
-       mask = 1 << fileno(cin);
-       while (mask > 0) {
-               if ((mask = empty(mask,0)) < 0) {
+       FD_ZERO((char *) &mask);
+       while (nfnd) {
+               FD_SET(fileno(cin), &mask);
+               if ((nfnd = empty(mask,0)) < 0) {
                        perror("reset");
                        code = -1;
                        lostpeer();
                }
                        perror("reset");
                        code = -1;
                        lostpeer();
                }
-               if (mask > 0)
+               else {
                        (void) getreply(0);
                        (void) getreply(0);
+               }
        }
 }
 
        }
 }
 
index 9f164a9..1ab6583 100644 (file)
@@ -3,7 +3,7 @@
  * All rights reserved.  The Berkeley software License Agreement
  * specifies the terms and conditions for redistribution.
  *
  * All rights reserved.  The Berkeley software License Agreement
  * specifies the terms and conditions for redistribution.
  *
- *     @(#)ftp_var.h   5.2 (Berkeley) %G%
+ *     @(#)ftp_var.h   5.3 (Berkeley) %G%
  */
 
 /*
  */
 
 /*
@@ -32,7 +32,6 @@ int   mcase;                  /* map upper to lower case for mget names */
 int    ntflag;                 /* use ntin ntout tables for name translation */
 int    mapflag;                /* use mapin mapout templates on file names */
 int    code;                   /* return/reply code for ftp command */
 int    ntflag;                 /* use ntin ntout tables for name translation */
 int    mapflag;                /* use mapin mapout templates on file names */
 int    code;                   /* return/reply code for ftp command */
-int    macroflg;               /* active macro */
 int    crflag;                 /* if 1, strip car. rets. on ascii gets */
 char   pasv[64];               /* passive port for proxy data connection */
 char   *altarg;                /* argv[1] with no shell-like preprocessing  */
 int    crflag;                 /* if 1, strip car. rets. on ascii gets */
 char   pasv[64];               /* passive port for proxy data connection */
 char   *altarg;                /* argv[1] with no shell-like preprocessing  */
@@ -89,7 +88,7 @@ struct macel {
 };
 
 int macnum;                    /* number of defined macros */
 };
 
 int macnum;                    /* number of defined macros */
-struct macel macros[16], *macpt;
+struct macel macros[16];
 char macbuf[4096];
 
 extern char *tail();
 char macbuf[4096];
 
 extern char *tail();
@@ -97,3 +96,8 @@ extern        char *index();
 extern char *rindex();
 extern char *remglob();
 extern int errno;
 extern char *rindex();
 extern char *remglob();
 extern int errno;
+extern char *mktemp();
+extern char *strncpy();
+extern char *strncat();
+extern char *strcat();
+extern char *strcpy();
index 5a52238..e2ddb29 100644 (file)
@@ -11,7 +11,7 @@ char copyright[] =
 #endif not lint
 
 #ifndef lint
 #endif not lint
 
 #ifndef lint
-static char sccsid[] = "@(#)main.c     5.5 (Berkeley) %G%";
+static char sccsid[] = "@(#)main.c     5.6 (Berkeley) %G%";
 #endif not lint
 
 /*
 #endif not lint
 
 /*
@@ -20,6 +20,7 @@ static char sccsid[] = "@(#)main.c    5.5 (Berkeley) %G%";
 #include "ftp_var.h"
 #include <sys/socket.h>
 #include <sys/ioctl.h>
 #include "ftp_var.h"
 #include <sys/socket.h>
 #include <sys/ioctl.h>
+#include <sys/types.h>
 
 #include <arpa/ftp.h>
 
 
 #include <arpa/ftp.h>
 
@@ -31,6 +32,7 @@ static char sccsid[] = "@(#)main.c    5.5 (Berkeley) %G%";
 #include <pwd.h>
 
 
 #include <pwd.h>
 
 
+uid_t  getuid();
 int    intr();
 int    lostpeer();
 extern char *home;
 int    intr();
 int    lostpeer();
 extern char *home;
@@ -83,7 +85,7 @@ main(argc, argv)
                                break;
 
                        default:
                                break;
 
                        default:
-                               fprintf(stderr,
+                               fprintf(stdout,
                                  "ftp: %c: unknown option\n", *cp);
                                exit(1);
                        }
                                  "ftp: %c: unknown option\n", *cp);
                                exit(1);
                        }
@@ -93,11 +95,11 @@ main(argc, argv)
        /*
         * Set up defaults for FTP.
         */
        /*
         * Set up defaults for FTP.
         */
-       strcpy(typename, "ascii"), type = TYPE_A;
-       strcpy(formname, "non-print"), form = FORM_N;
-       strcpy(modename, "stream"), mode = MODE_S;
-       strcpy(structname, "file"), stru = STRU_F;
-       strcpy(bytename, "8"), bytesize = 8;
+       (void) strcpy(typename, "ascii"), type = TYPE_A;
+       (void) strcpy(formname, "non-print"), form = FORM_N;
+       (void) strcpy(modename, "stream"), mode = MODE_S;
+       (void) strcpy(structname, "file"), stru = STRU_F;
+       (void) strcpy(bytename, "8"), bytesize = 8;
        if (fromatty)
                verbose++;
        cpend = 0;           /* no pending replies */
        if (fromatty)
                verbose++;
        cpend = 0;           /* no pending replies */
@@ -114,19 +116,19 @@ main(argc, argv)
                pw = getpwuid(getuid());
        if (pw != NULL) {
                home = homedir;
                pw = getpwuid(getuid());
        if (pw != NULL) {
                home = homedir;
-               strcpy(home, pw->pw_dir);
+               (void) strcpy(home, pw->pw_dir);
        }
        if (argc > 0) {
                if (setjmp(toplevel))
                        exit(0);
        }
        if (argc > 0) {
                if (setjmp(toplevel))
                        exit(0);
-               signal(SIGINT, intr);
-               signal(SIGPIPE, lostpeer);
+               (void) signal(SIGINT, intr);
+               (void) signal(SIGPIPE, lostpeer);
                setpeer(argc + 1, argv - 1);
        }
        top = setjmp(toplevel) == 0;
        if (top) {
                setpeer(argc + 1, argv - 1);
        }
        top = setjmp(toplevel) == 0;
        if (top) {
-               signal(SIGINT, intr);
-               signal(SIGPIPE, lostpeer);
+               (void) signal(SIGINT, intr);
+               (void) signal(SIGPIPE, lostpeer);
        }
        for (;;) {
                cmdscanner(top);
        }
        for (;;) {
                cmdscanner(top);
@@ -147,12 +149,12 @@ lostpeer()
 
        if (connected) {
                if (cout != NULL) {
 
        if (connected) {
                if (cout != NULL) {
-                       shutdown(fileno(cout), 1+1);
-                       fclose(cout);
+                       (void) shutdown(fileno(cout), 1+1);
+                       (void) fclose(cout);
                        cout = NULL;
                }
                if (data >= 0) {
                        cout = NULL;
                }
                if (data >= 0) {
-                       shutdown(data, 1+1);
+                       (void) shutdown(data, 1+1);
                        (void) close(data);
                        data = -1;
                }
                        (void) close(data);
                        data = -1;
                }
@@ -161,8 +163,8 @@ lostpeer()
        pswitch(1);
        if (connected) {
                if (cout != NULL) {
        pswitch(1);
        if (connected) {
                if (cout != NULL) {
-                       shutdown(fileno(cout), 1+1);
-                       fclose(cout);
+                       (void) shutdown(fileno(cout), 1+1);
+                       (void) fclose(cout);
                        cout = NULL;
                }
                connected = 0;
                        cout = NULL;
                }
                connected = 0;
@@ -171,7 +173,7 @@ lostpeer()
        pswitch(0);
 }
 
        pswitch(0);
 }
 
-char *
+/*char *
 tail(filename)
        char *filename;
 {
 tail(filename)
        char *filename;
 {
@@ -187,7 +189,7 @@ tail(filename)
        }
        return (filename);
 }
        }
        return (filename);
 }
-
+*/
 /*
  * Command parser.
  */
 /*
  * Command parser.
  */
@@ -200,11 +202,11 @@ cmdscanner(top)
        extern int help();
 
        if (!top)
        extern int help();
 
        if (!top)
-               putchar('\n');
+               (void) putchar('\n');
        for (;;) {
                if (fromatty) {
                        printf("ftp> ");
        for (;;) {
                if (fromatty) {
                        printf("ftp> ");
-                       fflush(stdout);
+                       (void) fflush(stdout);
                }
                if (gets(line) == 0) {
                        if (feof(stdin))
                }
                if (gets(line) == 0) {
                        if (feof(stdin))
@@ -232,12 +234,12 @@ cmdscanner(top)
                }
                (*c->c_handler)(margc, margv);
                if (bell && c->c_bell)
                }
                (*c->c_handler)(margc, margv);
                if (bell && c->c_bell)
-                       putchar(CTRL(g));
+                       (void) putchar(CTRL(g));
                if (c->c_handler != help)
                        break;
        }
                if (c->c_handler != help)
                        break;
        }
-       signal(SIGINT, intr);
-       signal(SIGPIPE, lostpeer);
+       (void) signal(SIGINT, intr);
+       (void) signal(SIGPIPE, lostpeer);
 }
 
 struct cmd *
 }
 
 struct cmd *
@@ -449,7 +451,7 @@ help(argc, argv)
                                }
                                else if (c->c_name) {
                                        for (k=0; k < strlen(c->c_name); k++) {
                                }
                                else if (c->c_name) {
                                        for (k=0; k < strlen(c->c_name); k++) {
-                                               putchar(' ');
+                                               (void) putchar(' ');
                                        }
                                }
                                if (c + lines >= &cmdtab[NCMDS]) {
                                        }
                                }
                                if (c + lines >= &cmdtab[NCMDS]) {
@@ -459,7 +461,7 @@ help(argc, argv)
                                w = strlen(c->c_name);
                                while (w < width) {
                                        w = (w + 8) &~ 7;
                                w = strlen(c->c_name);
                                while (w < width) {
                                        w = (w + 8) &~ 7;
-                                       putchar('\t');
+                                       (void) putchar('\t');
                                }
                        }
                }
                                }
                        }
                }
@@ -482,7 +484,7 @@ help(argc, argv)
 /*
  * Call routine with argc, argv set from args (terminated by 0).
  */
 /*
  * Call routine with argc, argv set from args (terminated by 0).
  */
-/* VARARGS2 */
+/*VARARGS1*/
 call(routine, args)
        int (*routine)();
        int args;
 call(routine, args)
        int (*routine)();
        int args;
index 9e5e49c..cea3b83 100644 (file)
@@ -5,7 +5,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)ruserpass.c        1.2 (Berkeley) %G%";
+static char sccsid[] = "@(#)ruserpass.c        1.3 (Berkeley) %G%";
 #endif not lint
 
 
 #endif not lint
 
 
@@ -27,6 +27,7 @@ extern char macbuf[4096];
 #include <errno.h>
 
 char   *renvlook(), *malloc(), *index(), *getenv(), *getpass(), *getlogin();
 #include <errno.h>
 
 char   *renvlook(), *malloc(), *index(), *getenv(), *getpass(), *getlogin();
+char   *strcpy();
 struct utmp *getutmp();
 static FILE *cfile;
 
 struct utmp *getutmp();
 static FILE *cfile;
 
@@ -66,15 +67,15 @@ static
 rnetrc(host, aname, apass, aacct)
        char *host, **aname, **apass, **aacct;
 {
 rnetrc(host, aname, apass, aacct)
        char *host, **aname, **apass, **aacct;
 {
-       char *hdir, buf[BUFSIZ], *tmp, c;
-       int t, i;
+       char *hdir, buf[BUFSIZ], *tmp;
+       int t, i, c;
        struct stat stb;
        extern int errno;
 
        hdir = getenv("HOME");
        if (hdir == NULL)
                hdir = ".";
        struct stat stb;
        extern int errno;
 
        hdir = getenv("HOME");
        if (hdir == NULL)
                hdir = ".";
-       sprintf(buf, "%s/.netrc", hdir);
+       (void) sprintf(buf, "%s/.netrc", hdir);
        cfile = fopen(buf, "r");
        if (cfile == NULL) {
                if (errno != ENOENT)
        cfile = fopen(buf, "r");
        if (cfile == NULL) {
                if (errno != ENOENT)
@@ -96,8 +97,8 @@ next:
                case LOGIN:
                        if (token())
                                if (*aname == 0) { 
                case LOGIN:
                        if (token())
                                if (*aname == 0) { 
-                                       *aname = malloc(strlen(tokval) + 1);
-                                       strcpy(*aname, tokval);
+                                       *aname = malloc((unsigned) strlen(tokval) + 1);
+                                       (void) strcpy(*aname, tokval);
                                } else {
                                        if (strcmp(*aname, tokval))
                                                goto next;
                                } else {
                                        if (strcmp(*aname, tokval))
                                                goto next;
@@ -111,8 +112,8 @@ next:
                                return(-1);
                        }
                        if (token() && *apass == 0) {
                                return(-1);
                        }
                        if (token() && *apass == 0) {
-                               *apass = malloc(strlen(tokval) + 1);
-                               strcpy(*apass, tokval);
+                               *apass = malloc((unsigned) strlen(tokval) + 1);
+                               (void) strcpy(*apass, tokval);
                        }
                        break;
                case ACCOUNT:
                        }
                        break;
                case ACCOUNT:
@@ -123,8 +124,8 @@ next:
                                return(-1);
                        }
                        if (token() && *aacct == 0) {
                                return(-1);
                        }
                        if (token() && *aacct == 0) {
-                               *aacct = malloc(strlen(tokval) + 1);
-                               strcpy(*aacct, tokval);
+                               *aacct = malloc((unsigned) strlen(tokval) + 1);
+                               (void) strcpy(*aacct, tokval);
                        }
                        break;
                case MACDEF:
                        }
                        break;
                case MACDEF:
@@ -192,7 +193,8 @@ next:
                goto done;
        }
 done:
                goto done;
        }
 done:
-       fclose(cfile);
+       (void) fclose(cfile);
+       return(0);
 }
 
 static
 }
 
 static