Date: Mon, 22 Sep 1997 18:39:49 +0200 (MET DST) From: Eivind Eklund <perhaps@yes.no> To: "Studded" <Studded@dal.net> Cc: freebsd-stable@FreeBSD.ORG Subject: Re: >8 char usernames going into 2.2.5? Message-ID: <199709221639.SAA03613@bitbox.follo.net> In-Reply-To: "Studded"'s message of Sat, 20 Sep 97 17:43:53 -0700 References: <199709210044.RAA18858@mail.san.rr.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> >Index: sys/sys/param.h > >========================================================= > >RCS file: /home/ncvs/src/sys/sys/param.h,v > > >-#define MAXLOGNAME 12 /* max login name length */ > >+#define MAXLOGNAME 17 /* max login name length */ > > >Index: include/utmp.h > >========================================================= > >RCS file: /home/ncvs/src/include/utmp.h,v > > >-#define UT_NAMESIZE 8 /* see MAXLOGNAME in <sys/param.h> */ > >+#define UT_NAMESIZE 16 /* see MAXLOGNAME in <sys/param.h> */ > > Ok, why is there a discrepancy here? If you told me that the change > was easy to make, and all I had to do was change the numbers in those two > files, the first thing I'd do is ask myself why they were already different, then > I'd make them both 16. Obviously I'd be wrong, but can someone explain to > a non-programmer why I want the value in param.h to be higher than the > one in utmp.h? Quick guess: MAXLOGNAME is supposed to include a zero terminator in the count (a single null character to indicate the end of the name), UT_NAMESIZE is just copied into a buffer with strncpy() and written to utmp, and strncpy() cut the terminator character if the string is too long for it. Eivind.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709221639.SAA03613>