From c61b512cccbd2497807372f5303b206b7b808a1f Mon Sep 17 00:00:00 2001 From: Brian Somers Date: Wed, 14 Mar 2001 20:51:15 +0000 Subject: [PATCH] Move trimdomain() into it's own source file and tidy things up a bit. Fix disorder in the Makefile. Reviewed (mostly) by: bde --- lib/libutil/Makefile | 8 +++--- lib/libutil/logwtmp.c | 58 +------------------------------------------ 2 files changed, 5 insertions(+), 61 deletions(-) diff --git a/lib/libutil/Makefile b/lib/libutil/Makefile index 97a3e596d59e..07db69abc443 100644 --- a/lib/libutil/Makefile +++ b/lib/libutil/Makefile @@ -6,10 +6,10 @@ SHLIB_MAJOR= 3 SHLIB_MINOR= 0 CFLAGS+=-Wall -DLIBC_SCCS -I${.CURDIR} -I${.CURDIR}/../../sys CFLAGS+=-DINET6 -SRCS= login.c login_tty.c logout.c logwtmp.c pty.c \ - login_cap.c login_class.c login_auth.c login_times.c login_ok.c \ - login_crypt.c _secure_path.c uucplock.c property.c auth.c \ - realhostname.c fparseln.c stub.c +SRCS= _secure_path.c auth.c fparseln.c login.c login_auth.c login_cap.c \ + login_class.c login_crypt.c login_ok.c login_times.c login_tty.c \ + logout.c logwtmp.c property.c pty.c realhostname.c stub.c \ + trimdomain.c uucplock.c INCS= libutil.h login_cap.h MAN3+= login.3 login_auth.3 login_tty.3 logout.3 logwtmp.3 pty.3 \ diff --git a/lib/libutil/logwtmp.c b/lib/libutil/logwtmp.c index 26484503b450..d77f8a4fae47 100644 --- a/lib/libutil/logwtmp.c +++ b/lib/libutil/logwtmp.c @@ -42,16 +42,13 @@ static const char rcsid[] = #include #include -#include #include #include -#include -#include #include #include +#include #include -#include #include #include @@ -60,59 +57,6 @@ static const char rcsid[] = #define NI_WITHSCOPEID 0 #endif -void -trimdomain(char *fullhost, int hostsize) -{ - static char domain[MAXHOSTNAMELEN]; - static int first = 1; - static size_t dlen; - char *s, *end; - int spn, ok; - - if (first) { - first = 0; - if (gethostname(domain, sizeof(domain) - 1) == 0 && - (s = strchr(domain, '.'))) - memmove(domain, s + 1, strlen(s + 1) + 1); - else - domain[0] = '\0'; - dlen = strlen(domain); - } - - if (domain[0] != '\0') { - s = fullhost; - end = s + hostsize + 1; - for (; (s = memchr(s, '.', end - s)) != NULL; s++) - if (!strncasecmp(s + 1, domain, dlen)) { - if (s[dlen + 1] == '\0') { - *s = '\0'; /* Found - lose the domain */ - break; - } else if (s[dlen + 1] == ':') { /* $DISPLAY ? */ - ok = dlen + 2; - spn = strspn(s + ok, "0123456789"); - if (spn > 0 && ok + spn - dlen <= end - s) { - ok += spn; - if (s[ok] == '\0') { - /* host.domain:nn */ - memmove(s, s + dlen + 1, ok - dlen); - break; - } else if (s[ok] == '.') { - ok++; - spn = strspn(s + ok, "0123456789"); - if (spn > 0 && s[ok + spn] == '\0' && - ok + spn - dlen <= end - s) { - /* host.domain:nn.nn */ - memmove(s, s + dlen + 1, ok + spn - dlen); - break; - } - } - } - } - } - } -} - -#include void logwtmp(line, name, host)