On Thu, Jun 12, 2008 at 7:50 PM, John E. Malmberg <[EMAIL PROTECTED]> wrote: > Even though configure.com was detecting the getgrgid and friends, they were > not being configured because HAS_GROUPS was not defined in vmsish.h.
Good catch. Obviously it's HAS_GROUP, not HAS_GROUPS, but that's correct in the patch itself. > --- /rsync_root/perl/vms/vmsish.h Thu Feb 21 18:20:57 2008 > +++ vms/vmsish.h Thu Jun 12 08:34:47 2008 > @@ -448,8 +448,15 @@ > * This symbol, if defined, indicates that the getgrnam() and > * getgrgid() routines are available to get group entries. > * The getgrent() has a separate definition, HAS_GETGRENT. > + * > + * These have been available in VMS for a while, but configure.com > + * only checks for the recursive versions. The _r is for reentrant, not recursive. > */ > +#if defined HAS_GETGRNAM_R || defined HAS_GETGRGID_R Wouldn't it be simpler to just do: #if __CRTL_VER >= 70302000 plus that self-documents when they became available. > +#define HAS_GROUP /**/ > +#else > #undef HAS_GROUP /**/ > +#endif > > /* HAS_PASSWD > * This symbol, if defined, indicates that the getpwnam() and > --- /rsync_root/perl/t/op/groups.t Wed Apr 30 10:20:16 2008 > +++ t/op/groups.t Thu Jun 12 18:47:18 2008 > @@ -1,7 +1,7 @@ > #!./perl > > $ENV{PATH} ="/bin:/usr/bin:/usr/xpg4/bin:/usr/ucb" . > - exists $ENV{PATH} ? ":$ENV{PATH}" : ""; > + exists $ENV{PATH} ? ":$ENV{PATH}" : "" unless $^O eq 'VMS'; > $ENV{LC_ALL} = "C"; # so that external utilities speak English > $ENV{LANGUAGE} = 'C'; # GNU locale extension > > @@ -27,7 +27,8 @@ > exit 0; > } > > -quit() if (($^O eq 'MSWin32' || $^O eq 'NetWare') or $^O =~ /lynxos/i); > +quit() if (($^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'VMS') > + or $^O =~ /lynxos/i); > > # We have to find a command that prints all (effective > # and real) group names (not ids). The known commands are: > >