+Wed Mar 01 23:30:50 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * Changed the GECOS-field '&' translation behavior to be
+ controlled by the BSD42 #define rather than GCOS_HACK, since it's
+ apparently always appropriate on OSes where BSD42 is #defined, and
+ never appropriate on any other OSes. Thanks to Kimmo Suominen for
+ responding to my "What is this code here for?" comment in mts.c
+ and explaining the feature.
+
Mon Feb 28 21:50:29 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
* Upped the version number to 1.0.3+dev (ideally this should be
MAN PAGES
---------
+* Change all man pages to group all the commandline options together in one
+ section with each as a separate mini-heading. Having to dig through prose to
+ find what a particular option does is a pain in the nads.
* Update mh-tailor man page.
* generate mh-chart man page from other man pages
* update default mode in man pages with sed
#undef HAVE_DB1_NDBM_H
/* Define to the header containing the declaration of initgroups() on your
- system, if any. AIX 4.[13] and SunOS 4.1.3 have the function in libc but
- don't have a declaration anywhere. */
+ system, if any. AIX 4.[13], SunOS 4.1.3, and ULTRIX 4.2A have the function
+ in libc but don't have a declaration anywhere. */
#undef INITGROUPS_HEADER
/* Define if your system actually has a prototype for snprintf() in <stdio.h>
#undef HAVE_GETHOSTBYNAME
/* Define to the header containing the declaration of initgroups() on your
- system, if any. AIX 4.[13] and SunOS 4.1.3 have the function in libc but
- don't have a declaration anywhere. */
+ system, if any. AIX 4.[13], SunOS 4.1.3, and ULTRIX 4.2A have the function
+ in libc but don't have a declaration anywhere. */
#undef INITGROUPS_HEADER
/* Define if your system actually has a prototype for snprintf() in <stdio.h>
AC_REPLACE_FUNCS(snprintf strerror strdup)
-dnl Look for the initgroups() declaration. On AIX 4.[13] and Solaris 4.1.3,
-dnl the function is defined in libc but there's no declaration in any system
-dnl header.
+dnl Look for the initgroups() declaration. On AIX 4.[13], Solaris 4.1.3, and
+dnl ULTRIX 4.2A the function is defined in libc but there's no declaration in
+dnl any system header.
dnl
dnl On Solaris 2.[456], the declaration is in <grp.h>. On HP-UX 9-11 and
dnl (reportedly) FreeBSD 3.[23], it's in <unistd.h>. Any other locations we
-Mon Feb 28 22:19:07 PST 2000
+Wed Mar 1 23:36:54 PST 2000
#else
/* On AIX 4.1, initgroups() is defined and even documented (giving the parameter
types as char* and int), but doesn't have a prototype in any of the system
- header files. AIX 4.3 and SunOS 4.1.3 have the same problem. */
+ header files. AIX 4.3, SunOS 4.1.3, and ULTRIX 4.2A have the same
+ problem. */
extern int initgroups(char*, int);
#endif
* "Dan Harkless <Dan.Harkless>". Naturally, you'll want your MTA to have
* an alias (e.g. in /etc/aliases) from "fakeusername" to your account name.
*/
-#ifndef GCOS_HACK
- /* What is this code here for? As of 2000-01-25, GCOS_HACK doesn't appear
- anywhere else in nmh. -- Dan Harkless <dan-nmh@dilvish.speed.net> */
+#ifndef BSD42
for (cp = fullname; *np && *np != (MMailids ? '<' : ','); *cp++ = *np++)
continue;
-#else
+#else /* BSD42 */
+ /* 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. */
for (cp = fullname; *np && *np != (MMailids ? '<' : ','); ) {
if (*np == '&') { /* blech! */
strcpy (cp, pw->pw_name);
*cp++ = *np++;
}
}
-#endif
+#endif /* BSD42 */
*cp = '\0';
if (MMailids) {