head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.42 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.40 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.38 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q2:1.2.0.36 pkgsrc-2011Q2-base:1.2 pkgsrc-2009Q4:1.2.0.34 pkgsrc-2009Q4-base:1.2 pkgsrc-2008Q4:1.2.0.32 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.30 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.28 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.26 pkgsrc-2008Q2-base:1.2 pkgsrc-2008Q1:1.2.0.24 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.22 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.20 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.18 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.16 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.14 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.12 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.10 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.8 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.6 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.4 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.2 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.1.1.1.0.10 pkgsrc-2005Q1-base:1.1.1.1 pkgsrc-2004Q4:1.1.1.1.0.8 pkgsrc-2004Q4-base:1.1.1.1 pkgsrc-2004Q3:1.1.1.1.0.6 pkgsrc-2004Q3-base:1.1.1.1 pkgsrc-2004Q2:1.1.1.1.0.4 pkgsrc-2004Q2-base:1.1.1.1 pkgsrc-2004Q1:1.1.1.1.0.2 pkgsrc-2004Q1-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.2 date 2005.06.08.08.58.15; author salo; state dead; branches; next 1.1; 1.1 date 2004.01.11.00.41.13; author jlam; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2004.01.11.00.41.13; author jlam; state Exp; branches; next ; desc @@ 1.2 log @Remove samba2 packages, abandonware. @ text @$NetBSD: patch-aq,v 1.1 2004/01/11 00:41:13 jlam Exp $ Expand & in the gecos field to a capitalized login name. --- lib/system.c.orig Thu May 2 21:03:10 2002 +++ lib/system.c Sun Oct 13 21:36:59 2002 @@@@ -773,6 +773,12 @@@@ static void copy_pwent(struct saved_pw *dst, struct passwd *pass) { +#ifdef BSD +# define BUFLEN 1024 + char *bp, *gecos, *p, buf[BUFLEN]; + int buflen; +#endif + memcpy((char *)&dst->pass, pass, sizeof(struct passwd)); fstrcpy(dst->pw_name, pass->pw_name); @@@@ -781,7 +787,36 @@@@ fstrcpy(dst->pw_passwd, pass->pw_passwd); dst->pass.pw_passwd = dst->pw_passwd; +#ifdef BSD + gecos = pass->pw_gecos; + if (*gecos == '*') + gecos++; + bp = buf; + + /* copy gecos, interpolating & to be full name */ + for (p = gecos; *p != '\0'; p++) { + if (bp >= &buf[BUFLEN - 1]) { + /* buffer overflow */ + gecos = pass->pw_name; + goto gecos_done; + } + if (*p == '&') { + /* interpolate full name */ + snprintf(bp, BUFLEN - (bp - buf), "%s", pass->pw_name); + *bp = toupper(*bp); + bp += strlen(bp); + } + else + *bp++ = *p; + } + *bp = '\0'; + gecos = buf; + + gecos_done: + fstrcpy(dst->pw_gecos, gecos); +#else fstrcpy(dst->pw_gecos, pass->pw_gecos); +#endif dst->pass.pw_gecos = dst->pw_gecos; pstrcpy(dst->pw_dir, pass->pw_dir); @ 1.1 log @Initial revision @ text @d1 1 a1 1 $NetBSD: patch-aq,v 1.1 2002/10/14 01:51:27 kim Exp $ @ 1.1.1.1 log @Reimport net/samba as net/samba2. net/samba2 will continue to track the 2.x release of Samba, which net/samba will track post-2.x releases of Samba. @ text @@