- /*
- ** On BSD(-derived) systems, the system utilities that deal with
- ** the GECOS field (finger, mail, sendmail, etc.) translate
- ** any '&' character in it to the login name, with the first
- ** letter capitalized. So, for instance, fingering a user "bob"
- ** with the GECOS field "& Jones" would reveal him to be "In real
- ** life: Bob Jones". Surprisingly, though, the OS doesn't do the
- ** translation for you, so we have to do it manually here.
- */
- if (mmailid_masquerading)
- /* Stop at ',' or '<'. */
- for (cp = fullname;
- *np != '\0' && *np != ',' && *np != '<';) {
- if (*np == '&') { /* blech! */
- strcpy(cp, pw->pw_name);
- *cp = toupper(*cp);
- while (*cp)
- cp++;
- np++;
- } else {
- *cp++ = *np++;
- }
- }
- else