From 4f54cdb1dd4b8929231f42e22b79a0d5c7600cba Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 21 Jun 1996 21:01:27 +0000 Subject: * sysdeps/sparc/elf/start.S: New file. * sysdeps/sparc/dl-machine.h: New file. * posix/fnmatch.c (fnmatch): Fix \*[*?]+ case to increment name ptr only for ?s, not for *s. Fix from Chet Ramey. Fixes thanks to Raja R Harinath : * sysdeps/unix/sysv/utmpbits.h: Define _HAVE_UT_{TYPE,ID,TV,HOST}. Use __{BEGIN,END}_DECLS. (_PATH_WTMP, _PATH_UTMP, _PATH_LASTLOG): New macros. * login/utmp.h (UTMP_FILE, UTMP_FILENAME, WTMP_FILE, WTMP_FILENAME): New macros, moved here from sysdeps/gnu/utmpbits.h. * sysdeps/generic/utmpbits.h (_HAVE_UT_HOST): Define it. * sysdeps/gnu/utmpbits.h (_HAVE_UT_HOST): Likewise. * login/logout.c: Use ut_host only #if _HAVE_UT_HOST. Use sizeof instead of UT_*SIZE. * login/logwtmp.c: Likewise. * misc/tsearch.c (tdelete): Define as weak alias to __tdelete. * version.c (banner): Add trailing newline. --- login/logout.c | 9 +++++---- login/logwtmp.c | 9 +++++---- login/utmp.h | 7 +++++++ 3 files changed, 17 insertions(+), 8 deletions(-) (limited to 'login') diff --git a/login/logout.c b/login/logout.c index d47a392699..1b8dc317ff 100644 --- a/login/logout.c +++ b/login/logout.c @@ -41,15 +41,16 @@ logout (const char *line) #if _HAVE_UT_TYPE - 0 tmp.ut_type = USER_PROCESS; #endif - strncpy (tmp.ut_line, line, UT_LINESIZE); + strncpy (tmp.ut_line, line, sizeof tmp.ut_line); /* Read the record. */ if (getutline_r (&tmp, &ut, &data) >= 0 || errno == ESRCH) { /* Clear information about who & from where. */ - bzero (ut->ut_name, UT_NAMESIZE); - bzero (ut->ut_host, UT_HOSTSIZE); - + bzero (ut->ut_name, sizeof ut->ut_name); +#if _HAVE_UT_HOST - 0 + bzero (ut->ut_host, sizeof ut->ut_host); +#endif #if _HAVE_UT_TV - 0 gettimeofday (&ut->ut_tv, NULL); #else diff --git a/login/logwtmp.c b/login/logwtmp.c index 10f7384f6c..371f34ee76 100644 --- a/login/logwtmp.c +++ b/login/logwtmp.c @@ -45,9 +45,11 @@ logwtmp (const char *line, const char *name, const char *host) #if _HAVE_UT_TYPE - 0 ut.ut_type = USER_PROCESS; #endif - strncpy (ut.ut_line, line, UT_LINESIZE); - strncpy (ut.ut_name, name, UT_NAMESIZE); - strncpy (ut.ut_host, host, UT_HOSTSIZE); + strncpy (ut.ut_line, line, sizeof ut.ut_line); + strncpy (ut.ut_name, name, sizeof ut.ut_name); +#if _HAVE_UT_HOST - 0 + strncpy (ut.ut_host, host, sizeof ut.ut_host); +#endif #if _HAVE_UT_TV - 0 gettimeofday (&ut.ut_tv, NULL); @@ -60,5 +62,4 @@ logwtmp (const char *line, const char *name, const char *host) /* Close UTMP file. */ endutent_r (&data); - } diff --git a/login/utmp.h b/login/utmp.h index 71f1a093df..e9c1734258 100644 --- a/login/utmp.h +++ b/login/utmp.h @@ -28,6 +28,13 @@ Boston, MA 02111-1307, USA. */ /* Get system dependent values and data structures. */ #include +/* Compatibility names for the strings of the canonical file names. */ +#define UTMP_FILE _PATH_UTMP +#define UTMP_FILENAME _PATH_UTMP +#define WTMP_FILE _PATH_WTMP +#define WTMP_FILENAME _PATH_WTMP + + /* Make FD be the controlling terminal, stdin, stdout, and stderr; then close FD. Returns 0 on success, nonzero on error. */ -- cgit 1.4.1