Change 13083 by jhi@alpha on 2001/11/18 21:37:06
Integrate perlio; win32 sync.
Affected files ...
.... //depot/perl/perlio.c#144 integrate
.... //depot/perl/win32/win32io.c#11 integrate
Differences ...
==== //depot/perl/perlio.c#144 (text) ====
Index: perl/perlio.c
--- perl/perlio.c.~1~ Sun Nov 18 14:45:05 2001
+++ perl/perlio.c Sun Nov 18 14:45:05 2001
@@ -2496,9 +2496,7 @@
int fd = PerlLIO_dup(fileno(stdio));
if (fd >= 0) {
char mode[8];
- int omode = fcntl(fd, F_GETFL);
- PerlIO_intmode2str(omode,mode,NULL);
- stdio = fdopen(fd, mode);
+ stdio = fdopen(fd, PerlIO_modestr(o,mode));
}
else {
/* FIXME: To avoid messy error recovery if dup fails
==== //depot/perl/win32/win32io.c#11 (text) ====
Index: perl/win32/win32io.c
--- perl/win32/win32io.c.~1~ Sun Nov 18 14:45:05 2001
+++ perl/win32/win32io.c Sun Nov 18 14:45:05 2001
@@ -295,7 +295,7 @@
}
PerlIO *
-PerlIOWin32_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *params)
+PerlIOWin32_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *params, int flags)
{
PerlIOWin32 *os = PerlIOSelf(f,PerlIOWin32);
HANDLE proc = GetCurrentProcess();
@@ -306,7 +306,7 @@
int fd = win32_open_osfhandle((long) new,
PerlIOUnix_oflags(PerlIO_modestr(o,mode)));
if (fd >= 0)
{
- f = PerlIOBase_dup(aTHX_ f, o, params);
+ f = PerlIOBase_dup(aTHX_ f, o, params, flags);
if (f)
{
PerlIOWin32 *fs = PerlIOSelf(f,PerlIOWin32);
End of Patch.