Make -o less special, drop -o '' support, always use last value
authorkn <kn@openbsd.org>
Tue, 12 Dec 2023 22:00:43 +0000 (22:00 +0000)
committerkn <kn@openbsd.org>
Tue, 12 Dec 2023 22:00:43 +0000 (22:00 +0000)
ftp(1) says -o is about a single file/URL, but option handling takes the
empty string as "reset previous -o value", which makes little sense, is
undocumented and counter-intuitively works as if no -o was specified.

OK millert

usr.bin/ftp/main.c

index 53e588e..2aecd5a 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: main.c,v 1.143 2023/11/30 14:52:00 kn Exp $   */
+/*     $OpenBSD: main.c,v 1.144 2023/12/12 22:00:43 kn Exp $   */
 /*     $NetBSD: main.c,v 1.24 1997/08/18 10:20:26 lukem Exp $  */
 
 /*
@@ -502,14 +502,8 @@ main(volatile int argc, char *argv[])
 
                case 'o':
                        outfile = optarg;
-                       if (*outfile == '\0') {
-                               pipeout = 0;
-                               outfile = NULL;
-                               ttyout = stdout;
-                       } else {
-                               pipeout = strcmp(outfile, "-") == 0;
-                               ttyout = pipeout ? stderr : stdout;
-                       }
+                       pipeout = strcmp(outfile, "-") == 0;
+                       ttyout = pipeout ? stderr : stdout;
                        break;
 
                case 'p':