diff options
Diffstat (limited to 'networking/telnet.c')
-rw-r--r-- | networking/telnet.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/networking/telnet.c b/networking/telnet.c index 5ca64e133..86586600b 100644 --- a/networking/telnet.c +++ b/networking/telnet.c | |||
@@ -617,19 +617,17 @@ int telnet_main(int argc, char** argv) | |||
617 | #ifdef CONFIG_FEATURE_TELNET_AUTOLOGIN | 617 | #ifdef CONFIG_FEATURE_TELNET_AUTOLOGIN |
618 | if (1 & getopt32(argc, argv, "al:", &autologin)) | 618 | if (1 & getopt32(argc, argv, "al:", &autologin)) |
619 | autologin = getenv("USER"); | 619 | autologin = getenv("USER"); |
620 | 620 | argv += optind; | |
621 | if (optind < argc) { | ||
622 | host = argv[optind++]; | ||
623 | port = bb_lookup_port((optind < argc) ? argv[optind++] : | ||
624 | "telnet", "tcp", 23); | ||
625 | if (optind < argc) | ||
626 | bb_show_usage(); | ||
627 | } else | ||
628 | bb_show_usage(); | ||
629 | #else | 621 | #else |
630 | host = argv[1]; | 622 | argv++; |
631 | port = bb_lookup_port((argc > 2) ? argv[2] : "telnet", "tcp", 23); | ||
632 | #endif | 623 | #endif |
624 | if (!*argv) | ||
625 | bb_show_usage(); | ||
626 | host = *argv++; | ||
627 | port = bb_lookup_port(*argv ? *argv++ : "telnet", "tcp", 23); | ||
628 | if (*argv) /* extra params?? */ | ||
629 | bb_show_usage(); | ||
630 | |||
633 | G.netfd = create_and_connect_stream_or_die(host, port); | 631 | G.netfd = create_and_connect_stream_or_die(host, port); |
634 | 632 | ||
635 | setsockopt(G.netfd, SOL_SOCKET, SO_KEEPALIVE, &one, sizeof one); | 633 | setsockopt(G.netfd, SOL_SOCKET, SO_KEEPALIVE, &one, sizeof one); |