mirror of
https://git.freebsd.org/ports.git
synced 2025-06-12 16:20:33 -04:00
150 lines
4.2 KiB
C
150 lines
4.2 KiB
C
--- wrt_him.c.orig 2004-09-29 03:32:13 UTC
|
|
+++ wrt_him.c
|
|
@@ -116,7 +116,7 @@ int rc;
|
|
extern struct wrttmp mywrt;
|
|
|
|
/* Open utmp file */
|
|
- setutent();
|
|
+ setutxent();
|
|
|
|
/* Look me up */
|
|
find_me();
|
|
@@ -204,7 +204,7 @@ int write_me;
|
|
int perm, hisperm= 0;
|
|
time_t hisatime= 0;
|
|
time_t atime;
|
|
-struct utmp *ut;
|
|
+struct utmpx *ut;
|
|
struct wrttmp tmpwrt;
|
|
long tmppos;
|
|
|
|
@@ -213,16 +213,14 @@ long tmppos;
|
|
{
|
|
/* Check if this is the target user, ignoring X-window lines */
|
|
if (ut->ut_line[0] != ':' &&
|
|
-#ifdef USER_PROCESS
|
|
ut->ut_type == USER_PROCESS &&
|
|
-#endif
|
|
- !strncmp(hisname, ut->ut_name, UT_NAMESIZE))
|
|
+ !strncmp(hisname, ut->ut_user, UT_NAMESIZE))
|
|
{
|
|
/* Count matches */
|
|
cnt++;
|
|
|
|
/* Find wrttmp entry */
|
|
- find_wrttmp(ut->ut_line, ut->ut_time, &tmpwrt, &tmppos);
|
|
+ find_wrttmp(ut->ut_line, ut->ut_tv.tv_sec, &tmpwrt, &tmppos);
|
|
|
|
/* Is this guy writing me? */
|
|
write_me= !strncmp(tmpwrt.wrt_what,myname,UT_NAMESIZE);
|
|
@@ -283,7 +281,7 @@ long tmppos;
|
|
|
|
int find_tty()
|
|
{
|
|
-struct utmp *ut;
|
|
+struct utmpx *ut;
|
|
|
|
if ((ut= find_utmp(histty)) == NULL)
|
|
return(1);
|
|
@@ -291,23 +289,23 @@ struct utmp *ut;
|
|
if (*hisname != '\0')
|
|
{
|
|
/* Does the name not match? */
|
|
- if (strncmp(hisname, ut->ut_name, UT_NAMESIZE))
|
|
+ if (strncmp(hisname, ut->ut_user, UT_NAMESIZE))
|
|
return(2);
|
|
}
|
|
else
|
|
{
|
|
/* Is anyone on that line? */
|
|
- if (*ut->ut_name == '\0')
|
|
+ if (*ut->ut_user == '\0')
|
|
{
|
|
printf("No one logged onto %s\n",histty);
|
|
wrtlog("FAIL: empty tty");
|
|
done(1);
|
|
}
|
|
- strncpy(hisname, ut->ut_name, UT_NAMESIZE);
|
|
+ strncpy(hisname, ut->ut_user, UT_NAMESIZE);
|
|
}
|
|
printf("%s to %s on %s...",what[telegram],hisname,histty);
|
|
if (!telegram) putchar('\n');
|
|
- find_wrttmp(histty,ut->ut_time,&hiswrt,&hispos);
|
|
+ find_wrttmp(histty,ut->ut_tv.tv_sec,&hiswrt,&hispos);
|
|
return(0);
|
|
}
|
|
|
|
@@ -321,7 +319,7 @@ struct utmp *ut;
|
|
|
|
void find_answer()
|
|
{
|
|
-struct utmp *ut;
|
|
+struct utmpx *ut;
|
|
int slot;
|
|
|
|
lseek(wstream,hispos= wrttmp_offset(slot= 0),0);
|
|
@@ -332,9 +330,9 @@ int slot;
|
|
{
|
|
/* Found someone writing me - get his name from utmp */
|
|
strncpy(histty,hiswrt.wrt_line,UT_LINESIZE);
|
|
- if ((ut= find_utmp(histty)) != NULL && ut->ut_name[0] != '\0')
|
|
+ if ((ut= find_utmp(histty)) != NULL && ut->ut_user[0] != '\0')
|
|
{
|
|
- strncpy(hisname,ut->ut_name,UT_NAMESIZE);
|
|
+ strncpy(hisname,ut->ut_user,UT_NAMESIZE);
|
|
printf("Replying to %s on %s...",hisname,histty);
|
|
if (!telegram) putchar('\n');
|
|
return;
|
|
@@ -363,7 +361,7 @@ int nhelpers= 0; /* Number of helpers on */
|
|
int ahelpers= 0; /* Number of helpers available */
|
|
int previous;
|
|
int slot= 0;
|
|
-struct utmp *ut;
|
|
+struct utmpx *ut;
|
|
struct wrttmp tmpwrt;
|
|
long tmppos;
|
|
|
|
@@ -387,7 +385,7 @@ long tmppos;
|
|
|
|
/* Find the helper candidate in utmp - if he's not there skip out */
|
|
if ((ut= find_utmp(tmpwrt.wrt_line)) == NULL ||
|
|
- ut->ut_name[0] == '\0' || ut->ut_time != tmpwrt.wrt_time)
|
|
+ ut->ut_user[0] == '\0' || ut->ut_tv.tv_sec != tmpwrt.wrt_time)
|
|
continue;
|
|
|
|
/* Reject helpers with their message permissions off */
|
|
@@ -397,14 +395,14 @@ long tmppos;
|
|
{
|
|
/* Perms off - but am I in .yeswrite file? */
|
|
if (!f_exceptions || tmpwrt.wrt_except != 'y' ||
|
|
- !isuexception(ut->ut_name, 1, myname))
|
|
+ !isuexception(ut->ut_user, 1, myname))
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
/* Perms on - but am I in .nowrite file? */
|
|
if (f_exceptions && tmpwrt.wrt_except == 'y' &&
|
|
- isuexception(ut->ut_name, 0, myname))
|
|
+ isuexception(ut->ut_user, 0, myname))
|
|
continue;
|
|
}
|
|
}
|
|
@@ -422,7 +420,7 @@ long tmppos;
|
|
ahelpers++;
|
|
|
|
/* Has he helped us before? */
|
|
- previous= !strncmp(ut->ut_name, mywrt.wrt_last, UT_NAMESIZE);
|
|
+ previous= !strncmp(ut->ut_user, mywrt.wrt_last, UT_NAMESIZE);
|
|
|
|
/* So roll the dice to see if we will choose him */
|
|
if (!previous && (unsigned)RAND() > (unsigned)RAND_MAX / ahelpers)
|
|
@@ -430,7 +428,7 @@ long tmppos;
|
|
|
|
/* We chose him, so make him our helper candidate so far */
|
|
strncpy(histty, tmpwrt.wrt_line, UT_LINESIZE);
|
|
- strncpy(hisname, ut->ut_name, UT_NAMESIZE);
|
|
+ strncpy(hisname, ut->ut_user, UT_NAMESIZE);
|
|
hiswrt= tmpwrt;
|
|
hispos= tmppos;
|
|
|