X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/blobdiff_plain/764d41138b02e0f390bfc34c5c9509654520aa8a..42f11eb24fa39e437b4f1e6beb5cc83901aa5bdd:/loginrec.c?ds=sidebyside diff --git a/loginrec.c b/loginrec.c index 4f9f30ad..b664a9cf 100644 --- a/loginrec.c +++ b/loginrec.c @@ -143,7 +143,7 @@ ** Solaris ** HP-UX 10.20 (gcc only) ** IRIX - ** NeXT - M68k/HPPA (4.2/3.3) + ** NeXT - M68k/HPPA/Sparc (4.2/3.3) ** ** Testing required: Please send reports! ** NetBSD @@ -160,9 +160,19 @@ #include "ssh.h" #include "xmalloc.h" #include "loginrec.h" +#include "log.h" +#include "atomicio.h" RCSID("$Id$"); +#ifdef HAVE_UTIL_H +# include +#endif + +#ifdef HAVE_LIBUTIL_H +# include +#endif + /** ** prototypes for helper functions in this file **/ @@ -494,9 +504,9 @@ char * line_fullname(char *dst, const char *src, int dstsize) { memset(dst, '\0', dstsize); - if ((strncmp(src, "/dev/", 5) == 0) || (dstsize < (strlen(src) + 5))) + if ((strncmp(src, "/dev/", 5) == 0) || (dstsize < (strlen(src) + 5))) { strlcpy(dst, src, dstsize); - else { + } else { strlcpy(dst, "/dev/", dstsize); strlcat(dst, src, dstsize); } @@ -509,7 +519,7 @@ line_stripname(char *dst, const char *src, int dstsize) { memset(dst, '\0', dstsize); if (strncmp(src, "/dev/", 5) == 0) - strlcpy(dst, &src[5], dstsize); + strlcpy(dst, src + 5, dstsize); else strlcpy(dst, src, dstsize); return dst; @@ -529,8 +539,13 @@ line_abbrevname(char *dst, const char *src, int dstsize) memset(dst, '\0', dstsize); /* Always skip prefix if present */ +#ifdef sgi + if (strncmp(src, "/dev/tty", 8) == 0) + src += 8; +#else if (strncmp(src, "/dev/", 5) == 0) src += 5; +#endif len = strlen(src); @@ -681,7 +696,6 @@ construct_utmpx(struct logininfo *li, struct utmpx *utx) /* this is just a 32-bit IP address */ if (li->hostaddr.sa.sa_family == AF_INET) utx->ut_addr = li->hostaddr.sa_in.sin_addr.s_addr; - # endif # endif # ifdef HAVE_SYSLEN_IN_UTMPX /* ut_syslen is the length of the utx_host string */