diff options
Diffstat (limited to 'japanese/mh/files/patch-uip:rcvtty.c')
-rw-r--r-- | japanese/mh/files/patch-uip:rcvtty.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/japanese/mh/files/patch-uip:rcvtty.c b/japanese/mh/files/patch-uip:rcvtty.c new file mode 100644 index 000000000000..71fc771d2a97 --- /dev/null +++ b/japanese/mh/files/patch-uip:rcvtty.c @@ -0,0 +1,57 @@ +--- uip/rcvtty.c.orig 2001-04-05 01:05:17.000000000 +0900 ++++ uip/rcvtty.c 2010-04-12 17:36:19.000000000 +0900 +@@ -12,7 +12,11 @@ + #include "../zotnet/tws.h" + #include <signal.h> + #include <sys/stat.h> ++#include <sys/param.h> + #ifndef TTYD ++#if __FreeBSD_version > 900007 ++#include <utmpx.h> ++#else /* __FreeBSD_version > 900007 */ + #include <utmp.h> + #ifndef UTMP_FILENAME + #ifdef UTMP_FILE +@@ -25,6 +29,7 @@ + #endif + #endif + #endif /* UTMP_FILENAME */ ++#endif /* __FreeBSD_version > 900007 */ + #endif /* not TTYD */ + #ifdef LOCALE + #include <locale.h> +@@ -110,8 +115,12 @@ + *vec[MAXARGS]; + #ifndef TTYD + char tty[BUFSIZ]; ++#if __FreeBSD_version > 900007 ++ struct utmpx *ut; ++#else /* __FreeBSD_version > 900007 */ + struct utmp ut; + register FILE *uf; ++#endif /* __FreeBSD_version > 900007 */ + #endif /* not TTYD */ + + #ifdef BSD43 +@@ -200,6 +209,13 @@ + + user = getusr (); + #ifndef TTYD ++#if __FreeBSD_version > 900007 ++ ut = getutxuser(user); ++ if (ut != NULL) { ++ (void) strncpy (tty, ut->ut_line, sizeof ut->ut_line); ++ alert (tty, md); ++ } ++#else /* __FreeBSD_version > 900007 */ + if ((uf = fopen (UTMP_FILENAME, "r")) == NULL) + exit (RCV_MBX); + while (fread ((char *) &ut, sizeof ut, 1, uf) == 1) +@@ -212,6 +228,7 @@ + alert (tty, md); + } + (void) fclose (uf); ++#endif /* __FreeBSD_version > 900007 */ + #else /* TTYD */ + alert (user, md); + #endif /* TTYD */ |