Re: [patch] fixup GECOS handling
- From
Petr Baudis <pasky@ucw.cz>
- Date
- Apr 23, 2005, 23:38 UTC
- 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 <azarah@nosferatu.za.org> told me that...
Show 18 quoted lines
> @@ -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