STATUS_POSIX_SET(SvIOK(sv) ? SvIVX(sv) : sv_2iv(sv));
break;
case '!':
-#define GETERRNO(sv) (SvIOK(sv) ? SvIVX(sv) : SvOK(sv) ? sv_2iv(sv) : 0)
-#ifdef VMS
- SETERRNO(GETERRNO(sv),
+ SETERRNO(SvIOK(sv) ? SvIVX(sv) : SvOK(sv) ? sv_2iv(sv) : 0,
(SvIV(sv) == EVMSERR) ? 4 : vaxc$errno);
-#else
- SETERRNO(GETERRNO(sv), 0);
-#endif
break;
case '<':
PL_uid = SvIOK(sv) ? SvIVX(sv) : sv_2iv(sv);