Use CRTL getlogin and getlogin_r on VMS.
authorCraig A. Berry <craigberry@mac.com>
Sun, 12 Jul 2015 03:37:56 +0000 (22:37 -0500)
committerCraig A. Berry <craigberry@mac.com>
Sun, 12 Jul 2015 13:32:01 +0000 (08:32 -0500)
The CRTL has supplied getlogin since v7.0, so let's not use the
home-made one anymore.  Plus the CRTL als has a reentrant version,
so we'll use that under threads.

configure.com
makedef.pl
vms/vms.c
vms/vmsish.h

index efa3390..2d3dc55 100644 (file)
@@ -6861,7 +6861,7 @@ $ WC "d_getgrnam_r='" + d_getgrnam_r + "'"
 $ WC "d_gethostbyaddr_r='undef'"
 $ WC "d_gethostbyname_r='undef'"
 $ WC "d_gethostent_r='undef'"
-$ WC "d_getlogin_r='undef'"
+$ WC "d_getlogin_r='define'"
 $ WC "d_getnetbyaddr_r='undef'"
 $ WC "d_getnetbyname_r='undef'"
 $ WC "d_getnetent_r='undef'"
@@ -6910,7 +6910,12 @@ $ WC "getgrnam_r_proto='" + getgrnam_r_proto + "'"
 $ WC "gethostbyaddr_r_proto='0'"
 $ WC "gethostbyname_r_proto='0'"
 $ WC "gethostent_r_proto='0'"
-$ WC "getlogin_r_proto='0'"
+$ IF use_threads
+$ THEN
+$   WC "getlogin_r_proto='REENTRANT_PROTO_I_BW'"
+$ ELSE
+$   WC "getlogin_r_proto='0'"
+$ ENDIF
 $ WC "getnetbyaddr_r_proto='0'"
 $ WC "getnetbyname_r_proto='0'"
 $ WC "getnetent_r_proto='0'"
index 297cbc7..999655c 100644 (file)
@@ -954,7 +954,6 @@ elsif ($ARGS{PLATFORM} eq 'vms') {
                      Perl_my_gconvert
                      Perl_my_getenv
                      Perl_my_getenv_len
-                     Perl_my_getlogin
                      Perl_my_getpwnam
                      Perl_my_getpwuid
                      Perl_my_gmtime
index 627044e..d415413 100644 (file)
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -12160,17 +12160,6 @@ Perl_flex_lstat(pTHX_ const char *fspec, Stat_t *statbufp)
 /*}}}*/
 
 
-/*{{{char *my_getlogin()*/
-/* VMS cuserid == Unix getlogin, except calling sequence */
-char *
-my_getlogin(void)
-{
-    static char user[L_cuserid];
-    return cuserid(user);
-}
-/*}}}*/
-
-
 /*  rmscopy - copy a file using VMS RMS routines
  *
  *  Copies contents and attributes of spec_in to spec_out, except owner
index b7aea85..d175b18 100644 (file)
 #define my_gconvert(a,b,c,d)           Perl_my_gconvert(a,b,c,d)
 #define my_getenv(a,b)                 Perl_my_getenv(aTHX_ a,b)
 #define my_getenv_len(a,b,c)           Perl_my_getenv_len(aTHX_ a,b,c)
-#define my_getlogin                    Perl_my_getlogin
 #define my_getpwent()                  Perl_my_getpwent(aTHX)
 #define my_getpwnam(a)                 Perl_my_getpwnam(aTHX_ a)
 #define my_getpwuid(a)                 Perl_my_getpwuid(aTHX_ a)
@@ -493,9 +492,6 @@ struct utimbuf {
 #define ENVgetenv_len(v,l) my_getenv_len(v,l,FALSE)
 
 
-/* Thin jacket around cuserid() to match Unix' calling sequence */
-#define getlogin my_getlogin
-
 /* Ditto for sys$hash_password() . . . */
 #define crypt(a,b)  Perl_my_crypt(aTHX_ a,b)
 
@@ -748,7 +744,6 @@ int Perl_my_flush (pTHX_ FILE *);
 struct passwd *        Perl_my_getpwnam (pTHX_ const char *name);
 struct passwd *        Perl_my_getpwuid (pTHX_ Uid_t uid);
 void   Perl_my_endpwent (pTHX);
-char * my_getlogin (void);
 
 #ifdef __cplusplus
 }