fixup patches for VMS
Hans Mulder [Fri, 19 Jun 1998 16:00:57 +0000 (09:00 -0700)]
Message-Id: <3.0.5.32.19980619160057.032e7480@ous.edu>

p4raw-id: //depot/perl@1175

ext/SDBM_File/sdbm/Makefile.PL
t/lib/filecopy.t
t/op/defins.t
t/op/taint.t
vms/test.com
vms/vms.c

index 7008e6d..e6fdcf9 100644 (file)
@@ -21,10 +21,24 @@ WriteMakefile(
     C         => [qw(sdbm.c pair.c hash.c)]
 );
 
+sub MY::constants {
+  package MY;
+  my $r = shift->SUPER::constants();
+  if ($^O eq 'VMS') {
+    $r =~ s/^INST_STATIC =.*$/INST_STATIC = libsdbm\$(LIB_EXT)/m
+  }
+  return $r;
+}
+
 sub MY::post_constants {
+  package MY;
+  if ($^O eq 'VMS') {
+    shift->SUPER::post_constants();
+  } else {
 '
 INST_STATIC = libsdbm$(LIB_EXT)
 '
+  }
 }
 
 sub MY::top_targets {
index e4bde30..329931f 100755 (executable)
@@ -29,7 +29,7 @@ print "ok 1\n";
 print "not " unless $foo eq "ok 3\n";
 print "ok 2\n";
 
-binmode STDOUT;                        # Copy::copy works in binary mode
+binmode STDOUT unless $^O eq 'VMS';                    # Copy::copy works in binary mode
 copy "copy-$$", \*STDOUT;
 unlink "copy-$$" or die "unlink: $!";
 
index 5dd614d..0ed61ce 100755 (executable)
@@ -10,6 +10,8 @@ BEGIN {
     $SIG{__WARN__} = sub { $warns++; warn $_[0] };
     print "1..14\n";
 }
+
+$wanted_filename = $^O eq 'VMS' ? '0.' : '0';
     
 print "not " if $warns;
 print "ok 1\n";
@@ -64,7 +66,7 @@ opendir(DIR,'.');
 $seen = 0;
 while (my $name = readdir(DIR))
  {
-  $seen++ if $name eq '0';
+  $seen++ if $name eq $wanted_filename;
  }            
 print "not " unless $seen;
 print "ok 6\n";
@@ -74,7 +76,7 @@ $seen = 0;
 $dummy = '';
 while (($seen ? $dummy : $name) = readdir(DIR))
  {
-  $seen++ if $name eq '0';
+  $seen++ if $name eq $wanted_filename;
  }
 print "not " unless $seen;
 print "ok 7\n";
@@ -83,7 +85,7 @@ rewinddir(DIR);
 $seen = 0;    
 while ($where{$seen} = readdir(DIR))
  {
-  $seen++ if $where{$seen} eq '0';
+  $seen++ if $where{$seen} eq $wanted_filename;
  }
 print "not " unless $seen;
 print "ok 8\n";
@@ -91,7 +93,7 @@ print "ok 8\n";
 $seen = 0;
 while (my $name = glob('*'))
  {
-  $seen++ if $name eq '0';
+  $seen++ if $name eq $wanted_filename;
  }            
 print "not " unless $seen;
 print "ok 9\n";
@@ -100,7 +102,7 @@ $seen = 0;
 $dummy = '';
 while (($seen ? $dummy : $name) = glob('*'))
  {
-  $seen++ if $name eq '0';
+  $seen++ if $name eq $wanted_filename;
  }
 print "not " unless $seen;
 print "ok 10\n";
@@ -108,7 +110,7 @@ print "ok 10\n";
 $seen = 0;    
 while ($where{$seen} = glob('*'))
  {
-  $seen++ if $where{$seen} eq '0';
+  $seen++ if $where{$seen} eq $wanted_filename;
  }
 print "not " unless $seen;
 print "ok 11\n";
index 7f77283..5f85b36 100755 (executable)
@@ -232,7 +232,7 @@ print "1..145\n";
 # Globs should be forbidden, except under VMS,
 #   which doesn't spawn an external program.
 if ($Is_VMS) {
-    for (29..30) { print "ok $_\n"; }
+    for (31..32) { print "ok $_\n"; }
 }
 else {
     my @globs = eval { <*> };
index f131088..81dfc46 100644 (file)
@@ -162,7 +162,7 @@ while ($test = shift) {
        } else {
            $switch = '';
        }
-       open(results,"\$ MCR Sys\$Disk:[]Perl. $switch $test |") || (print "can't run.\n");
+       open(results,"\$ MCR Sys\$Disk:[]Perl. \"-I[-.lib]\" $switch $test |") || (print "can't run.\n");
     $ok = 0;
     $next = 0;
     while (<results>) {
index 62f27c3..73c9186 100644 (file)
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -203,7 +203,8 @@ prime_env_iter(void)
   $DESCRIPTOR(clidsc,"DCL");            $DESCRIPTOR(tabdsc,"DCLTABLES");
   $DESCRIPTOR(mbxdsc,mbxnam); 
 #ifdef USE_THREADS
-  static perl_mutex primenv_mutex = PTHREAD_MUTEX_INITIALIZER;
+  static perl_mutex primenv_mutex;
+  MUTEX_INIT(&primenv_mutex);
 #endif
 
   if (primed) return;