Close PR #2206: fix the services.byname target so that it can handle

/etc/services entries with any protocol instead of just udp and tcp.
Rather thani having the awk script explicitly search for 'udp' or 'tcp'
in the second field using index(), use split() to break up the field
at the '/' character if it exists, which extracts the protocol from
the field no matter what it is.

PR: 2206
This commit is contained in:
Bill Paul 1998-02-13 03:38:41 +00:00
parent fb364c6d7d
commit f44298df59
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=33300

View File

@ -1,7 +1,7 @@
#
# Makefile for the NIS databases
#
# $Id: Makefile.yp,v 1.3 1998/02/04 16:07:20 wpaul Exp $
# $Id: Makefile.yp,v 1.20 1998/02/04 16:16:58 wpaul Exp $
#
# This Makefile should only be run on the NIS master server of a domain.
# All updated maps will be pushed to all NIS slave servers listed in the
@ -436,10 +436,12 @@ services.byname: $(SERVICES)
$(CAT) $(SERVICES) | \
$(AWK) \
'$$1 !~ "^#.*" { for (n=1; n<=NF && $$n !~ "^#.*"; n++) { \
if (index($$2,"udp")) { printf("%s/udp",$$n) } \
else { printf("%s/tcp",$$n) }; print "\t"$$0 ; \
if (n == 1) n = 2; \
} ; print $$2"\t"$$0 ; \
if (split($$2, t, "/")) { \
printf("%s/%s", $$n, t[2]) }; \
print "\t"$$0;
if (n == 1) n = 2; \
}
} ; print $$2"\t"$$0 ; \
}' $^ | $(DBLOAD) -i $(SERVICES) -o $(YPMAPDIR)/$@ - $(TMP); \
$(RMV) $(TMP) $@
@$(DBLOAD) -c