SCCS-vsn: usr.bin/login/login.c 5.14
SCCS-vsn: usr.bin/login/login.c.1 5.14
#endif not lint
#ifndef lint
#endif not lint
#ifndef lint
-static char sccsid[] = "@(#)login.c 5.13 (Berkeley) %G%";
+static char sccsid[] = "@(#)login.c 5.14 (Berkeley) %G%";
#include <syslog.h>
#include <grp.h>
#include <syslog.h>
#include <grp.h>
-#define WRITENAME "write" /* name of group to own ttys */
-#define WRITEGID write_gid() /* gid that owns all ttys */
+#define WRITENAME "write" /* name of group to own ttys */
+#define WRITEGID(gid) write_gid(gid) /* gid that owns all ttys */
#define SCMPN(a, b) strncmp(a, b, sizeof(a))
#define SCPYN(a, b) strncpy(a, b, sizeof(a))
#define SCMPN(a, b) strncmp(a, b, sizeof(a))
#define SCPYN(a, b) strncpy(a, b, sizeof(a))
write(f, (char *) &ll, sizeof ll);
close(f);
}
write(f, (char *) &ll, sizeof ll);
close(f);
}
- chown(ttyn, pwd->pw_uid, WRITEGID);
+ chown(ttyn, pwd->pw_uid, WRITEGID(pwd->pw_gid));
if (!hflag && !rflag) /* XXX */
ioctl(0, TIOCSWINSZ, &win);
chmod(ttyn, 0620);
if (!hflag && !rflag) /* XXX */
ioctl(0, TIOCSWINSZ, &win);
chmod(ttyn, 0620);
environ[++index] = NULL;
}
environ[++index] = NULL;
}
+write_gid(default_gid)
+ int default_gid;
{
struct group *getgrnam(), *gr;
{
struct group *getgrnam(), *gr;
gr = getgrnam(WRITENAME);
if (gr != (struct group *) 0)
gr = getgrnam(WRITENAME);
if (gr != (struct group *) 0)
#endif not lint
#ifndef lint
#endif not lint
#ifndef lint
-static char sccsid[] = "@(#)login.c.1 5.13 (Berkeley) %G%";
+static char sccsid[] = "@(#)login.c.1 5.14 (Berkeley) %G%";
#include <syslog.h>
#include <grp.h>
#include <syslog.h>
#include <grp.h>
-#define WRITENAME "write" /* name of group to own ttys */
-#define WRITEGID write_gid() /* gid that owns all ttys */
+#define WRITENAME "write" /* name of group to own ttys */
+#define WRITEGID(gid) write_gid(gid) /* gid that owns all ttys */
#define SCMPN(a, b) strncmp(a, b, sizeof(a))
#define SCPYN(a, b) strncpy(a, b, sizeof(a))
#define SCMPN(a, b) strncmp(a, b, sizeof(a))
#define SCPYN(a, b) strncpy(a, b, sizeof(a))
write(f, (char *) &ll, sizeof ll);
close(f);
}
write(f, (char *) &ll, sizeof ll);
close(f);
}
- chown(ttyn, pwd->pw_uid, WRITEGID);
+ chown(ttyn, pwd->pw_uid, WRITEGID(pwd->pw_gid));
if (!hflag && !rflag) /* XXX */
ioctl(0, TIOCSWINSZ, &win);
chmod(ttyn, 0620);
if (!hflag && !rflag) /* XXX */
ioctl(0, TIOCSWINSZ, &win);
chmod(ttyn, 0620);
environ[++index] = NULL;
}
environ[++index] = NULL;
}
+write_gid(default_gid)
+ int default_gid;
{
struct group *getgrnam(), *gr;
{
struct group *getgrnam(), *gr;
gr = getgrnam(WRITENAME);
if (gr != (struct group *) 0)
gr = getgrnam(WRITENAME);
if (gr != (struct group *) 0)