Fix [ID 20020318.003] cannot open STDOUT into in memory variable
Nick Ing-Simmons [Fri, 22 Mar 2002 07:47:41 +0000 (07:47 +0000)]
  - when (e.g.) STDOUT is char special file and gets IoOFP
    created - do _NOT_ pass num_svs as that fopen-s stringified
    glob, and not fdopen-s the fd.

p4raw-id: //depot/perlio@15410

doio.c

diff --git a/doio.c b/doio.c
index d68d13c..2027e36 100644 (file)
--- a/doio.c
+++ b/doio.c
@@ -640,7 +640,7 @@ Perl_do_openn(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
        if (IoTYPE(io) == IoTYPE_SOCKET
            || (IoTYPE(io) == IoTYPE_WRONLY && fd >= 0 && S_ISCHR(PL_statbuf.st_mode)) ) {
            mode[0] = 'w';
-           if (!(IoOFP(io) = PerlIO_openn(aTHX_ type,mode,fd,0,0,NULL,num_svs,svp))) {
+           if (!(IoOFP(io) = PerlIO_openn(aTHX_ type,mode,fd,0,0,NULL,0,svp))) {
                PerlIO_close(fp);
                IoIFP(io) = Nullfp;
                goto say_false;