libbb: new option FEATURE_ETC_SERVICES: if off, /etc/services reads often avoided

In practice, "wget http://host.com/" always uses port 80.
People explicitly set non-standard ports via options or parameters
("telnet 1.2.3.4 567" or "telnet 1.2.3.4 ftp") instead of modifying
/etc/services.

function                                             old     new   delta
telnet_main                                         1466    1464      -2
rdate_main                                           215     198     -17
fakeidentd_main                                      269     252     -17
parse_url                                            459     392     -67
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-103)           Total: -103 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2018-04-17 12:43:54 +02:00
parent 816d8d7a66
commit 2aeb201c97
6 changed files with 25 additions and 7 deletions

View File

@@ -643,7 +643,8 @@ int telnet_main(int argc UNUSED_PARAM, char **argv)
if (!*argv)
bb_show_usage();
host = *argv++;
port = bb_lookup_port(*argv ? *argv++ : "telnet", "tcp", 23);
port = *argv ? bb_lookup_port(*argv++, "tcp", 23)
: bb_lookup_std_port("telnet", "tcp", 23);
if (*argv) /* extra params?? */
bb_show_usage();