From: Petr Baudis Date: Sat, 23 Apr 2005 23:38:21 GMT Subject: Re: [patch] fixup GECOS handling Message-ID: <20050423233821.GN13222@pasky.ji.cz> In-Reply-To: <1114196803.29271.52.camel@nosferatu.lan> Dear diary, on Fri, Apr 22, 2005 at 09:06:43PM CEST, I got a letter where Martin Schlemmer told me that... > @@ -311,6 +296,17 @@ > if (!pw) > die("You don't exist. Go away!"); > realgecos = pw->pw_gecos; > + /* > + * The GECOS fields are seperated via ',' on Linux, FreeBSD, etc, > + * and ';' on AIX. > + */ > +#if defined(__aix__) > + if (strchr(realgecos, ';')) > + *strchr(realgecos, ';') = 0; > +#else > + if (strchr(realgecos, ',')) > + *strchr(realgecos, ',') = 0; > +#endif > len = strlen(pw->pw_name); > memcpy(realemail, pw->pw_name, len); > realemail[len] = '@'; I'm confused, what does this has to do with AIX? Do we even have / can expect to have any major AIX users? I'm not too happy with this, I have to say. It seems it won't do always the right thing anyway. I would still favour the approach when you cut off everything after ';', and everything after ',' if no ';' is found. Seems simplest, safest, etc. Tell me about anyone who has a semicolon in his realname. -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor