From: Nick Ing-Simmons <nik@tiuk.ti.com>
Date: Sun, 31 Dec 2000 09:41:26 +0000 (+0000)
Subject: Ilya's OS2 patch (testing for damage on Win32)
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=568ad336973732c4d3fa134b7dcb8e82359c1f11;p=p5sagit%2Fp5-mst-13.2.git

Ilya's OS2 patch (testing for damage on Win32)

p4raw-id: //depot/perlio@8280
---

diff --git a/makedef.pl b/makedef.pl
index 4385f1a..6a30fc6 100644
--- a/makedef.pl
+++ b/makedef.pl
@@ -143,16 +143,7 @@ if ($PLATFORM eq 'win32') {
 elsif ($PLATFORM eq 'os2') {
     ($v = $]) =~ s/(\d\.\d\d\d)(\d\d)$/$1_$2/;
     $v .= '-thread' if $ARCHNAME =~ /-thread/;
-    #$sum = 0;
-    #for (split //, $v) {
-    #	$sum = ($sum * 33) + ord;
-    #	$sum &= 0xffffff;
-    #}
-    #$sum += $sum >> 5;
-    #$sum &= 0xffff;
-    #$sum = printf '%X', $sum;
     ($dll = $define{PERL_DLL}) =~ s/\.dll$//i;
-    # print STDERR "'$dll' <= '$define{PERL_DLL}'\n";
     print <<"---EOP---";
 LIBRARY '$dll' INITINSTANCE TERMINSTANCE
 DESCRIPTION '\@#perl5-porters\@perl.org:$v#\@ Perl interpreter'
@@ -822,4 +813,13 @@ PerlIOBase_close
 PerlIO_define_layer
 PerlIO_pending
 PerlIO_unread
-PerlIO_push
\ No newline at end of file
+PerlIO_push
+PerlIO_apply_layers
+perlsio_binmode
+PerlIO_binmode
+PerlIO_init
+PerlIO_tmpfile
+PerlIO_setpos
+PerlIO_getpos
+PerlIO_vsprintf
+PerlIO_sprintf
diff --git a/opcode.pl b/opcode.pl
index 22ef972..22bffb8 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -1,5 +1,6 @@
 #!/usr/bin/perl
 
+chmod 0666, "opcode.h", "opnames.h";
 unlink "opcode.h", "opnames.h";
 open(OC, ">opcode.h") || die "Can't create opcode.h: $!\n";
 open(ON, ">opnames.h") || die "Can't create opnames.h: $!\n";
diff --git a/os2/os2.c b/os2/os2.c
index b244716..7fe8113 100644
--- a/os2/os2.c
+++ b/os2/os2.c
@@ -1162,10 +1162,13 @@ tcp1(char *name, int arg)
 	((void (*)(int)) fcn) (arg);
 }
 
+#ifndef HAS_GETHOSTENT		/* Older versions of EMX did not have it... */
 void *	gethostent()	{ return tcp0("GETHOSTENT");  }
 void *	getnetent()	{ return tcp0("GETNETENT");   }
 void *	getprotoent()	{ return tcp0("GETPROTOENT"); }
 void *	getservent()	{ return tcp0("GETSERVENT");  }
+#endif
+
 void	sethostent(x)	{ tcp1("SETHOSTENT",  x); }
 void	setnetent(x)	{ tcp1("SETNETENT",   x); }
 void	setprotoent(x)	{ tcp1("SETPROTOENT", x); }