TEMARI%ECAMV1.dnet.ge.com@vm1.nodak.edu (10/23/90)
Here is login.c again, sorry I had TurboC on my mind when I did it. Itoa
takes an integer argument and returns a pointer to a static buffer.
Thanks to Bruce for pointing that out.
Michael Temari temari@ecamv1.dnet.ge.com
---------------------------------------------------------------------------
*** /usr/src/commands/login.c.old Sat Oct 13 23:16:42 1990
--- /usr/src/commands/login.c Mon Oct 22 21:19:14 1990
***************
*** 38,43 ****
--- 38,46 ----
*
* Andy Tanenbaum April 1990
* - if /bin/sh cannot be located, try /usr/bin/sh
+ *
+ * Michael A. Temari October 1990
+ * - handle more than single digit tty devices
*/
#include <sys/types.h>
***************
*** 51,59 ****
#include <utmp.h>
#include <stdio.h>
! #define DIGIT 3
! #define MOTD "/etc/motd"
! #define TTY "tty?"
#define CONS "tty0"
static char *Version = "@(#) LOGIN 1.13 (02/10/90)";
--- 54,61 ----
#include <utmp.h>
#include <stdio.h>
! #define MOTD "/etc/motd"
! #define TTY "tty"
#define CONS "tty0"
static char *Version = "@(#) LOGIN 1.13 (02/10/90)";
***************
*** 76,81 ****
--- 78,84 ----
extern long time();
extern long lseek();
void Time_out();
+ extern char *itoa();
void wtmp(line, user)
char *line; /* tty device name */
***************
*** 220,226 ****
strcpy(ttyname, CONS); /* system console */
else {
strcpy(ttyname, TTY);
! ttyname[DIGIT] = '0' + ttynr;
}
/* Get login name and passwd. */
--- 223,229 ----
strcpy(ttyname, CONS); /* system console */
else {
strcpy(ttyname, TTY);
! strcat(ttyname,itoa(ttynr));
}
/* Get login name and passwd. */