aboutsummaryrefslogtreecommitdiff
path: root/japanese/mh/files/patch-uip:rcvtty.c
diff options
context:
space:
mode:
Diffstat (limited to 'japanese/mh/files/patch-uip:rcvtty.c')
-rw-r--r--japanese/mh/files/patch-uip:rcvtty.c57
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 */