$ ENDIF
$ ENDIF
$!
+$!
+$! Check for grp.h -- should be 7.3 and later, but test to be sure
+$!
+$ tmp = "grp.h"
+$ GOSUB inhdr
+$ i_grp = tmp
+$!
$! VMS V7.3-2 powered options
$! We know that it is only available for V7.3-2 and later on 64 bit platforms.
$! Only implementing right now on 8.2 because that is what I am testing.
$ getgrnam_r_proto = "0"
$ d_getpgid = "undef"
$ d_getpgrp = "undef"
+$! N.B. We already have home-grown thread-safe versions of
+$! getpwnam and getpwuid -- no need to use CRTL versions
$ d_getpwnam_r = "undef"
$ getpwnam_r_proto = "0"
$ d_getpwuid_r = "undef"
$! d_getpgid = "define"
$! d_getpgrp = "define"
$ endif
-$ d_getpwnam_r = "define"
-$ getpwnam_r_proto = "1"
-$ d_getpwuid_r = "define"
-$ getpwuid_r_proto = "1"
$ d_setgrent = "define"
$ d_ttyname_r = "define"
$ ttyname_r_proto = "1"
$ WC "i_float='define'"
$ WC "i_fp='undef'"
$ WC "i_fp_class='undef'"
-$ WC "i_grp='undef'"
+$ WC "i_grp='" + i_grp + "'"
$ WC "i_ieeefp='undef'"
$ WC "i_inttypes='" + i_inttypes + "'"
$ WC "i_langinfo='" + i_langinfo + "'"
#ifndef getpwent
struct passwd *getpwent (void);
#elif defined (VMS) && defined (my_getpwent)
- struct passwd *Perl_my_getpwent (void);
+ struct passwd *Perl_my_getpwent (pTHX);
#endif
# endif
#endif
if ( $line =~ /(\w+)\s*\(/ ) {
print "\troutine name is \\$1\\\n" if $debug > 1;
if ($1 eq 'main' || $1 eq 'perl_init_ext' || $1 eq '__attribute__format__'
- || (($1 eq 'Perl_stashpv_hvname_match') && ! $use_threads)) {
+ || $1 eq 'sizeof' || (($1 eq 'Perl_stashpv_hvname_match') && ! $use_threads)) {
print "\tskipped\n" if $debug > 1;
}
else { $fcns{$1}++ }
else {
open(CPP,"$cpp_file") or die "$0: Can't read preprocessed file $cpp_file: $!\n";
}
-%checkh = map { $_,1 } qw( thread bytecode byterun proto perlio perlvars intrpvar thrdvar );
+%checkh = map { $_,1 } qw( thread bytecode byterun proto perlapi perlio perlvars intrpvar thrdvar );
$ckfunc = 0;
LINE: while (<CPP>) {
while (/^#.*vmsish\.h/i .. /^#.*perl\.h/i) {
#define my_fdopen Perl_my_fdopen
#define my_fclose Perl_my_fclose
#define my_fwrite Perl_my_fwrite
-#define my_getpwent Perl_my_getpwent
-#define my_endpwent Perl_my_endpwent
+#define my_getpwent() Perl_my_getpwent(aTHX)
+#define my_endpwent() Perl_my_endpwent(aTHX)
#define my_getlogin Perl_my_getlogin
#define init_os_extras Perl_init_os_extras
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 my_endpwent (pTHX);
+void Perl_my_endpwent (pTHX);
char * my_getlogin (void);
typedef char __VMS_SEPYTOTORP__;
/* prototype section end marker; `typedef' passes through cpp */