Index: head/include/unistd.h =================================================================== --- head/include/unistd.h +++ head/include/unistd.h @@ -399,7 +399,7 @@ #endif #if __POSIX_VISIBLE >= 199506 -int getlogin_r(char *, int); +int getlogin_r(char *, size_t); #endif /* 1003.1-2001 */ Index: head/lib/libc/gen/Symbol.map =================================================================== --- head/lib/libc/gen/Symbol.map +++ head/lib/libc/gen/Symbol.map @@ -156,7 +156,6 @@ gethostname; getloadavg; getlogin; - getlogin_r; setnetgrent; getnetgrent; endnetgrent; @@ -422,6 +421,7 @@ }; FBSD_1.6 { + getlogin_r; memalign; scandir_b; sigandset; Index: head/lib/libc/gen/getlogin.c =================================================================== --- head/lib/libc/gen/getlogin.c +++ head/lib/libc/gen/getlogin.c @@ -58,7 +58,7 @@ } int -getlogin_r(char *logname, int namelen) +getlogin_r(char *logname, size_t namelen) { char tmpname[MAXLOGNAME]; int len; @@ -75,3 +75,13 @@ strlcpy(logname, tmpname, len); return (0); } + +/* FreeBSD 12 and earlier compat. */ +int +__getlogin_r_fbsd12(char *logname, int namelen) +{ + if (namelen < 1) + return (ERANGE); + return (getlogin_r(logname, namelen)); +} +__sym_compat(getlogin_r, __getlogin_r_fbsd12, FBSD_1.0); Index: head/lib/libc/sys/getlogin.2 =================================================================== --- head/lib/libc/sys/getlogin.2 +++ head/lib/libc/sys/getlogin.2 @@ -28,7 +28,7 @@ .\" @(#)getlogin.2 8.1 (Berkeley) 6/9/93 .\" $FreeBSD$ .\" -.Dd June 9, 1993 +.Dd September 9, 2020 .Dt GETLOGIN 2 .Os .Sh NAME @@ -44,7 +44,7 @@ .Fn getlogin void .In sys/param.h .Ft int -.Fn getlogin_r "char *name" "int len" +.Fn getlogin_r "char *name" "size_t len" .Ft int .Fn setlogin "const char *name" .Sh DESCRIPTION