perl
view release on metacpan or search on metacpan
);
}
}
}
IoOFP(io) = IoIFP(io) = NULL;
}
return io;
}
bool
Perl_do_openn(pTHX_ GV *gv, const char *oname, I32 len, int as_raw,
int rawmode, int rawperm, PerlIO *supplied_fp, SV **svp,
I32 num_svs)
{
PERL_ARGS_ASSERT_DO_OPENN;
if (as_raw) {
/* sysopen style args, i.e. integer mode and permissions */
if (num_svs != 0) {
croak("panic: sysopen with multiple args, num_svs=%ld",
}
}
}
say_false:
return openn_cleanup(gv, io, fp, mode, oname, saveifp, saveofp, savefd,
savetype, writing, was_fdopen, type, NULL);
}
/* Yes, this is ugly, but it's private, and I don't see a cleaner way to
simplify the two-headed public interface of do_openn. */
static bool
S_openn_cleanup(pTHX_ GV *gv, IO *io, PerlIO *fp, char *mode, const char *oname,
PerlIO *saveifp, PerlIO *saveofp, int savefd, char savetype,
int writing, bool was_fdopen, const char *type, Stat_t *statbufp)
{
PERL_ARGS_ASSERT_OPENN_CLEANUP;
int fd;
Stat_t statbuf;
umask(old_umask);
}
if (fd < 0)
return FALSE;
fp = PerlIO_fdopen(fd, "w+");
if (!fp)
return FALSE;
return do_openn(gv, "+>&", 3, 0, 0, 0, fp, NULL, 0);
}
#if defined(HAS_UNLINKAT) && defined(HAS_RENAMEAT) && defined(HAS_FCHMODAT) && \
(defined(HAS_DIRFD) || defined(HAS_DIR_DD_FD)) && !defined(NO_USE_ATFUNCTIONS) && \
defined(HAS_LINKAT)
# define ARGV_USE_ATFUNCTIONS
#endif
/* Win32 doesn't necessarily return useful information
* in st_dev, st_ino.
( run in 3.578 seconds using v1.01-cache-2.11-cpan-a49fcb8fa48 )