IoTYPE(io) = PerlIO_intmode2str(rawmode, &mode[ix], &writing);
- namesv = sv_2mortal(newSVpv(oname,0));
+ namesv = newSVpvn_flags(oname, len, SVs_TEMP);
num_svs = 1;
svp = &namesv;
type = NULL;
mode[0] = 'w';
writing = 1;
if (out_raw)
- my_strlcat(mode, "b", PERL_MODE_MAX - 1);
+ mode[1] = 'b';
else if (out_crlf)
- my_strlcat(mode, "t", PERL_MODE_MAX - 1);
+ mode[1] = 't';
if (num_svs > 1) {
fp = PerlProc_popen_list(mode, num_svs, svp);
}
writing = 1;
if (out_raw)
- my_strlcat(mode, "b", PERL_MODE_MAX - 1);
+ mode[1] = 'b';
else if (out_crlf)
- my_strlcat(mode, "t", PERL_MODE_MAX - 1);
+ mode[1] = 't';
if (*type == '&') {
duplicity:
dodup = PERLIO_DUP_FD;
}
else {
if (!num_svs) {
- namesv = sv_2mortal(newSVpvn(type,tend - type));
+ namesv = newSVpvn_flags(type, tend - type, SVs_TEMP);
num_svs = 1;
svp = &namesv;
type = NULL;
} while (isSPACE(*type));
mode[0] = 'r';
if (in_raw)
- my_strlcat(mode, "b", PERL_MODE_MAX - 1);
+ mode[1] = 'b';
else if (in_crlf)
- my_strlcat(mode, "t", PERL_MODE_MAX - 1);
+ mode[1] = 't';
if (*type == '&') {
goto duplicity;
}
}
else {
if (!num_svs) {
- namesv = sv_2mortal(newSVpvn(type,tend - type));
+ namesv = newSVpvn_flags(type, tend - type, SVs_TEMP);
num_svs = 1;
svp = &namesv;
type = NULL;
mode[0] = 'r';
if (in_raw)
- my_strlcat(mode, "b", PERL_MODE_MAX - 1);
+ mode[1] = 'b';
else if (in_crlf)
- my_strlcat(mode, "t", PERL_MODE_MAX - 1);
+ mode[1] = 't';
if (num_svs > 1) {
fp = PerlProc_popen_list(mode,num_svs,svp);
mode[0] = 'r';
if (in_raw)
- my_strlcat(mode, "b", PERL_MODE_MAX - 1);
+ mode[1] = 'b';
else if (in_crlf)
- my_strlcat(mode, "t", PERL_MODE_MAX - 1);
+ mode[1] = 't';
if (*name == '-' && name[1] == '\0') {
fp = PerlIO_stdin();
}
else {
if (!num_svs) {
- namesv = sv_2mortal(newSVpvn(type,tend - type));
+ namesv = newSVpvn_flags(type, tend - type, SVs_TEMP);
num_svs = 1;
svp = &namesv;
type = NULL;
if (IoIFP(io)) {
return (PL_laststatval = PerlLIO_fstat(PerlIO_fileno(IoIFP(io)), &PL_statcache));
} else if (IoDIRP(io)) {
-#ifdef HAS_DIRFD
- return (PL_laststatval = PerlLIO_fstat(dirfd(IoDIRP(io)), &PL_statcache));
-#else
- Perl_die(aTHX_ PL_no_func, "dirfd");
- /* NOT REACHED */
- return 0;
- /* Can't use NORETURN_FUNCTION_END because Perl_die is not
- * __attribute__noreturn__
- * Can't use DIE because that does not return an integer
- */
-#endif
+ return (PL_laststatval = PerlLIO_fstat(my_dirfd(IoDIRP(io)), &PL_statcache));
} else {
if (ckWARN2(WARN_UNOPENED,WARN_CLOSED))
report_evil_fh(gv, io, PL_op->op_type);
int fd, int do_report)
{
dVAR;
-#if defined(MACOS_TRADITIONAL) || defined(__SYMBIAN32__)
+#if defined(MACOS_TRADITIONAL) || defined(__SYMBIAN32__) || defined(__LIBCATAMOUNT__)
Perl_croak(aTHX_ "exec? I'm not *that* kind of operating system");
#else
if (sp > mark) {
- char **a;
+ const char **a;
const char *tmps = NULL;
- Newx(PL_Argv, sp - mark + 1, char*);
+ Newx(PL_Argv, sp - mark + 1, const char*);
a = PL_Argv;
while (++mark <= sp) {
if (*mark)
- *a++ = (char*)SvPV_nolen_const(*mark);
+ *a++ = SvPV_nolen_const(*mark);
else
*a++ = "";
}
Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report)
{
dVAR;
- register char **a;
+ register const char **a;
register char *s;
char *buf;
char *cmd;
const Size_t cmdlen = strlen(incmd) + 1;
Newx(buf, cmdlen, char);
cmd = buf;
- my_strlcpy(cmd, incmd, cmdlen);
+ memcpy(cmd, incmd, cmdlen);
while (*cmd && isSPACE(*cmd))
cmd++;
}
}
- Newx(PL_Argv, (s - cmd) / 2 + 2, char*);
+ Newx(PL_Argv, (s - cmd) / 2 + 2, const char*);
PL_Cmd = savepvn(cmd, s-cmd);
a = PL_Argv;
for (s = PL_Cmd; *s;) {
*a = NULL;
if (PL_Argv[0]) {
PERL_FPU_PRE_EXEC
- PerlProc_execvp(PL_Argv[0],PL_Argv);
+ PerlProc_execvp(PL_Argv[0],EXEC_ARGV_CAST(PL_Argv));
PERL_FPU_POST_EXEC
if (errno == ENOEXEC) { /* for system V NIH syndrome */
do_execfree();
SETERRNO(0,0);
return msgsnd(id, (struct msgbuf *)mbuf, msize, flags);
#else
+ PERL_UNUSED_ARG(sp);
+ PERL_UNUSED_ARG(mark);
Perl_croak(aTHX_ "msgsnd not implemented");
#endif
}
}
return ret;
#else
+ PERL_UNUSED_ARG(sp);
+ PERL_UNUSED_ARG(mark);
Perl_croak(aTHX_ "msgrcv not implemented");
#endif
}
if (shm == (char *)-1) /* I hate System V IPC, I really do */
return -1;
if (optype == OP_SHMREAD) {
- const char *mbuf;
+ char *mbuf;
/* suppress warning when reading into undef var (tchrist 3/Mar/00) */
if (! SvOK(mstr))
sv_setpvn(mstr, "", 0);