if (num_svs) {
/* New style explicit name, type is just mode and layer info */
- STRLEN l = 0;
#ifdef USE_STDIO
if (SvROK(*svp) && !strchr(name,'&')) {
if (ckWARN(WARN_IO))
goto say_false;
}
#endif /* USE_STDIO */
- name = SvOK(*svp) ? SvPV(*svp, l) : "";
- len = (I32)l;
- name = savepvn(name, len);
+ name = SvOK(*svp) ? savesvpv (*svp) : savepvn ("", 0);
SAVEFREEPV(name);
}
else {
sv = *av_fetch(PL_fdpid,fd,TRUE);
(void)SvUPGRADE(sv, SVt_IV);
pid = SvIVX(sv);
- SvIVX(sv) = 0;
+ SvIV_set(sv, 0);
sv = *av_fetch(PL_fdpid,savefd,TRUE);
(void)SvUPGRADE(sv, SVt_IV);
- SvIVX(sv) = pid;
+ SvIV_set(sv, pid);
UNLOCK_FDPID_MUTEX;
}
#endif
if (sp - mark > 2) {
#if defined(I_UTIME) || defined(VMS)
struct utimbuf utbuf;
+ struct utimbuf *utbufp = &utbuf;
#else
struct {
Time_t actime;
Time_t modtime;
} utbuf;
+ void *utbufp = &utbuf;
#endif
SV* accessed = *++mark;
SV* modified = *++mark;
- void * utbufp = &utbuf;
/* Be like C, and if both times are undefined, let the C
* library figure out what to do. This usually means