Add the modfl_pow32_bug (anti)definition also to VOS headers.
[p5sagit/p5-mst-13.2.git] / pp_sys.c
index 283dbc1..7332603 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -70,8 +70,10 @@ extern int h_errno;
 # ifdef I_PWD
 #  include <pwd.h>
 # else
+#  if !defined(VMS)
     struct passwd *getpwnam (char *);
     struct passwd *getpwuid (Uid_t);
+#  endif
 # endif
 # ifdef HAS_GETPWENT
   struct passwd *getpwent (void);
@@ -283,7 +285,7 @@ S_emulate_eaccess(pTHX_ const char* path, Mode_t mode)
 
 PP(pp_backtick)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     PerlIO *fp;
     STRLEN n_a;
     char *tmps = POPpx;
@@ -402,7 +404,7 @@ PP(pp_rcatline)
 
 PP(pp_warn)
 {
-    djSP; dMARK;
+    dSP; dMARK;
     SV *tmpsv;
     char *tmps;
     STRLEN len;
@@ -433,7 +435,7 @@ PP(pp_warn)
 
 PP(pp_die)
 {
-    djSP; dMARK;
+    dSP; dMARK;
     char *tmps;
     SV *tmpsv;
     STRLEN len;
@@ -492,13 +494,11 @@ PP(pp_die)
 
 PP(pp_open)
 {
-    djSP;
+    dSP;
     dMARK; dORIGMARK;
     dTARGET;
     GV *gv;
     SV *sv;
-    SV *name = Nullsv;
-    I32 have_name = 0;
     char *tmps;
     STRLEN len;
     MAGIC *mg;
@@ -510,7 +510,7 @@ PP(pp_open)
     if (GvIOp(gv))
        IoFLAGS(GvIOp(gv)) &= ~IOf_UNTAINT;
 
-    if ((mg = SvTIED_mg((SV*)gv, 'q'))) {
+    if ((mg = SvTIED_mg((SV*)gv, PERL_MAGIC_tiedscalar))) {
        /* Method's args are same as ours ... */
        /* ... except handle is replaced by the object */
        *MARK-- = SvTIED_obj((SV*)gv, mg);
@@ -544,7 +544,7 @@ PP(pp_open)
 
 PP(pp_close)
 {
-    djSP;
+    dSP;
     GV *gv;
     MAGIC *mg;
 
@@ -553,7 +553,7 @@ PP(pp_close)
     else
        gv = (GV*)POPs;
 
-    if ((mg = SvTIED_mg((SV*)gv, 'q'))) {
+    if ((mg = SvTIED_mg((SV*)gv, PERL_MAGIC_tiedscalar))) {
        PUSHMARK(SP);
        XPUSHs(SvTIED_obj((SV*)gv, mg));
        PUTBACK;
@@ -570,7 +570,7 @@ PP(pp_close)
 
 PP(pp_pipe_op)
 {
-    djSP;
+    dSP;
 #ifdef HAS_PIPE
     GV *rgv;
     GV *wgv;
@@ -625,7 +625,7 @@ badexit:
 
 PP(pp_fileno)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     GV *gv;
     IO *io;
     PerlIO *fp;
@@ -635,7 +635,7 @@ PP(pp_fileno)
        RETPUSHUNDEF;
     gv = (GV*)POPs;
 
-    if (gv && (mg = SvTIED_mg((SV*)gv, 'q'))) {
+    if (gv && (mg = SvTIED_mg((SV*)gv, PERL_MAGIC_tiedscalar))) {
        PUSHMARK(SP);
        XPUSHs(SvTIED_obj((SV*)gv, mg));
        PUTBACK;
@@ -661,7 +661,7 @@ PP(pp_fileno)
 
 PP(pp_umask)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     Mode_t anum;
 
 #ifdef HAS_UMASK
@@ -686,7 +686,7 @@ PP(pp_umask)
 
 PP(pp_binmode)
 {
-    djSP;
+    dSP;
     GV *gv;
     IO *io;
     PerlIO *fp;
@@ -703,7 +703,7 @@ PP(pp_binmode)
 
     gv = (GV*)POPs;
 
-    if (gv && (mg = SvTIED_mg((SV*)gv, 'q'))) {
+    if (gv && (mg = SvTIED_mg((SV*)gv, PERL_MAGIC_tiedscalar))) {
        PUSHMARK(SP);
        XPUSHs(SvTIED_obj((SV*)gv, mg));
        if (discp)
@@ -736,7 +736,7 @@ PP(pp_binmode)
 
 PP(pp_tie)
 {
-    djSP;
+    dSP;
     dMARK;
     SV *varsv;
     HV* stash;
@@ -744,7 +744,7 @@ PP(pp_tie)
     SV *sv;
     I32 markoff = MARK - PL_stack_base;
     char *methname;
-    int how = 'P';
+    int how = PERL_MAGIC_tied;
     U32 items;
     STRLEN n_a;
 
@@ -757,12 +757,17 @@ PP(pp_tie)
            methname = "TIEARRAY";
            break;
        case SVt_PVGV:
+#ifdef GV_SHARED_CHECK
+           if (GvSHARED((GV*)varsv)) {
+                Perl_croak(aTHX_ "Attempt to tie shared GV");
+           }
+#endif
            methname = "TIEHANDLE";
-           how = 'q';
+           how = PERL_MAGIC_tiedscalar;
            break;
        default:
            methname = "TIESCALAR";
-           how = 'q';
+           how = PERL_MAGIC_tiedscalar;
            break;
     }
     items = SP - MARK++;
@@ -816,9 +821,10 @@ PP(pp_tie)
 
 PP(pp_untie)
 {
-    djSP;
+    dSP;
     SV *sv = POPs;
-    char how = (SvTYPE(sv) == SVt_PVHV || SvTYPE(sv) == SVt_PVAV) ? 'P' : 'q';
+    char how = (SvTYPE(sv) == SVt_PVHV || SvTYPE(sv) == SVt_PVAV)
+               ? PERL_MAGIC_tied : PERL_MAGIC_tiedscalar;
 
         MAGIC * mg ;
         if ((mg = SvTIED_mg(sv, how))) {
@@ -849,9 +855,10 @@ PP(pp_untie)
 
 PP(pp_tied)
 {
-    djSP;
+    dSP;
     SV *sv = POPs;
-    char how = (SvTYPE(sv) == SVt_PVHV || SvTYPE(sv) == SVt_PVAV) ? 'P' : 'q';
+    char how = (SvTYPE(sv) == SVt_PVHV || SvTYPE(sv) == SVt_PVAV)
+               ? PERL_MAGIC_tied : PERL_MAGIC_tiedscalar;
     MAGIC *mg;
 
     if ((mg = SvTIED_mg(sv, how))) {
@@ -866,7 +873,7 @@ PP(pp_tied)
 
 PP(pp_dbmopen)
 {
-    djSP;
+    dSP;
     HV *hv;
     dPOPPOPssrl;
     HV* stash;
@@ -914,8 +921,8 @@ PP(pp_dbmopen)
     }
 
     if (sv_isobject(TOPs)) {
-       sv_unmagic((SV *) hv, 'P');
-       sv_magic((SV*)hv, TOPs, 'P', Nullch, 0);
+       sv_unmagic((SV *) hv, PERL_MAGIC_tied);
+       sv_magic((SV*)hv, TOPs, PERL_MAGIC_tied, Nullch, 0);
     }
     LEAVE;
     RETURN;
@@ -928,7 +935,7 @@ PP(pp_dbmclose)
 
 PP(pp_sselect)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
 #ifdef HAS_SELECT
     register I32 i;
     register I32 j;
@@ -1079,7 +1086,7 @@ Perl_setdefout(pTHX_ GV *gv)
 
 PP(pp_select)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     GV *newdefout, *egv;
     HV *hv;
 
@@ -1113,7 +1120,7 @@ PP(pp_select)
 
 PP(pp_getc)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     GV *gv;
     MAGIC *mg;
 
@@ -1122,7 +1129,7 @@ PP(pp_getc)
     else
        gv = (GV*)POPs;
 
-    if ((mg = SvTIED_mg((SV*)gv, 'q'))) {
+    if ((mg = SvTIED_mg((SV*)gv, PERL_MAGIC_tiedscalar))) {
        I32 gimme = GIMME_V;
        PUSHMARK(SP);
        XPUSHs(SvTIED_obj((SV*)gv, mg));
@@ -1182,7 +1189,7 @@ S_doform(pTHX_ CV *cv, GV *gv, OP *retop)
 
 PP(pp_enterwrite)
 {
-    djSP;
+    dSP;
     register GV *gv;
     register IO *io;
     GV *fgv;
@@ -1226,7 +1233,7 @@ PP(pp_enterwrite)
 
 PP(pp_leavewrite)
 {
-    djSP;
+    dSP;
     GV *gv = cxstack[cxstack_ix].blk_sub.gv;
     register IO *io = GvIOp(gv);
     PerlIO *ofp = IoOFP(io);
@@ -1359,7 +1366,7 @@ PP(pp_leavewrite)
            PUSHs(&PL_sv_yes);
        }
     }
-bad_ofp:
+    /* bad_ofp: */
     PL_formtarget = PL_bodytarget;
     PUTBACK;
     return pop_return();
@@ -1367,20 +1374,19 @@ bad_ofp:
 
 PP(pp_prtf)
 {
-    djSP; dMARK; dORIGMARK;
+    dSP; dMARK; dORIGMARK;
     GV *gv;
     IO *io;
     PerlIO *fp;
     SV *sv;
     MAGIC *mg;
-    STRLEN n_a;
 
     if (PL_op->op_flags & OPf_STACKED)
        gv = (GV*)*++MARK;
     else
        gv = PL_defoutgv;
 
-    if ((mg = SvTIED_mg((SV*)gv, 'q'))) {
+    if ((mg = SvTIED_mg((SV*)gv, PERL_MAGIC_tiedscalar))) {
        if (MARK == ORIGMARK) {
            MEXTEND(SP, 1);
            ++MARK;
@@ -1452,7 +1458,7 @@ PP(pp_prtf)
 
 PP(pp_sysopen)
 {
-    djSP;
+    dSP;
     GV *gv;
     SV *sv;
     char *tmps;
@@ -1482,7 +1488,7 @@ PP(pp_sysopen)
 
 PP(pp_sysread)
 {
-    djSP; dMARK; dORIGMARK; dTARGET;
+    dSP; dMARK; dORIGMARK; dTARGET;
     int offset;
     GV *gv;
     IO *io;
@@ -1499,7 +1505,7 @@ PP(pp_sysread)
 
     gv = (GV*)*++MARK;
     if ((PL_op->op_type == OP_READ || PL_op->op_type == OP_SYSREAD) &&
-       (mg = SvTIED_mg((SV*)gv, 'q')))
+       (mg = SvTIED_mg((SV*)gv, PERL_MAGIC_tiedscalar)))
     {
        SV *sv;
        
@@ -1529,7 +1535,7 @@ PP(pp_sysread)
     io = GvIO(gv);
     if (!io || !IoIFP(io))
        goto say_undef;
-    if ((fp_utf8 = PerlIO_isutf8(IoIFP(io))) && !IN_BYTE) {
+    if ((fp_utf8 = PerlIO_isutf8(IoIFP(io))) && !IN_BYTES) {
        buffer = SvPVutf8_force(bufsv, blen);
        /* UTF8 may not have been set if they are all low bytes */
        SvUTF8_on(bufsv);
@@ -1559,6 +1565,10 @@ PP(pp_sysread)
                          (struct sockaddr *)namebuf, &bufsize);
        if (count < 0)
            RETPUSHUNDEF;
+#ifdef EPOC
+        /* Bogus return without padding */
+       bufsize = sizeof (struct sockaddr_in);
+#endif
        SvCUR_set(bufsv, count);
        *SvEND(bufsv) = '\0';
        (void)SvPOK_only(bufsv);
@@ -1632,8 +1642,7 @@ PP(pp_sysread)
            count = -1;
     }
     if (count < 0) {
-       if ((IoTYPE(io) == IoTYPE_WRONLY || IoIFP(io) == PerlIO_stdout()
-           || IoIFP(io) == PerlIO_stderr()) && ckWARN(WARN_IO))
+       if ((IoTYPE(io) == IoTYPE_WRONLY) && ckWARN(WARN_IO))
        {
            /* integrate with report_evil_fh()? */
            char *name = NULL;
@@ -1654,7 +1663,7 @@ PP(pp_sysread)
     SvCUR_set(bufsv, count+(buffer - SvPVX(bufsv)));
     *SvEND(bufsv) = '\0';
     (void)SvPOK_only(bufsv);
-    if (fp_utf8 && !IN_BYTE) {
+    if (fp_utf8 && !IN_BYTES) {
        /* Look at utf8 we got back and count the characters */
        char *bend = buffer + count;
        while (buffer < bend) {
@@ -1697,7 +1706,7 @@ PP(pp_sysread)
 
 PP(pp_syswrite)
 {
-    djSP;
+    dSP;
     int items = (SP - PL_stack_base) - TOPMARK;
     if (items == 2) {
        SV *sv;
@@ -1711,7 +1720,7 @@ PP(pp_syswrite)
 
 PP(pp_send)
 {
-    djSP; dMARK; dORIGMARK; dTARGET;
+    dSP; dMARK; dORIGMARK; dTARGET;
     GV *gv;
     IO *io;
     SV *bufsv;
@@ -1722,7 +1731,9 @@ PP(pp_send)
     MAGIC *mg;
 
     gv = (GV*)*++MARK;
-    if (PL_op->op_type == OP_SYSWRITE && (mg = SvTIED_mg((SV*)gv, 'q'))) {
+    if (PL_op->op_type == OP_SYSWRITE
+               && (mg = SvTIED_mg((SV*)gv, PERL_MAGIC_tiedscalar)))
+    {
        SV *sv;
        
        PUSHMARK(MARK-1);
@@ -1840,7 +1851,7 @@ PP(pp_recv)
 
 PP(pp_eof)
 {
-    djSP;
+    dSP;
     GV *gv;
     MAGIC *mg;
 
@@ -1867,7 +1878,7 @@ PP(pp_eof)
     else
        gv = PL_last_in_gv = (GV*)POPs;         /* eof(FH) */
 
-    if (gv && (mg = SvTIED_mg((SV*)gv, 'q'))) {
+    if (gv && (mg = SvTIED_mg((SV*)gv, PERL_MAGIC_tiedscalar))) {
        PUSHMARK(SP);
        XPUSHs(SvTIED_obj((SV*)gv, mg));
        PUTBACK;
@@ -1884,7 +1895,7 @@ PP(pp_eof)
 
 PP(pp_tell)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     GV *gv;
     MAGIC *mg;
 
@@ -1893,7 +1904,7 @@ PP(pp_tell)
     else
        gv = PL_last_in_gv = (GV*)POPs;
 
-    if (gv && (mg = SvTIED_mg((SV*)gv, 'q'))) {
+    if (gv && (mg = SvTIED_mg((SV*)gv, PERL_MAGIC_tiedscalar))) {
        PUSHMARK(SP);
        XPUSHs(SvTIED_obj((SV*)gv, mg));
        PUTBACK;
@@ -1919,7 +1930,7 @@ PP(pp_seek)
 
 PP(pp_sysseek)
 {
-    djSP;
+    dSP;
     GV *gv;
     int whence = POPi;
 #if LSEEKSIZE > IVSIZE
@@ -1931,7 +1942,7 @@ PP(pp_sysseek)
 
     gv = PL_last_in_gv = (GV*)POPs;
 
-    if (gv && (mg = SvTIED_mg((SV*)gv, 'q'))) {
+    if (gv && (mg = SvTIED_mg((SV*)gv, PERL_MAGIC_tiedscalar))) {
        PUSHMARK(SP);
        XPUSHs(SvTIED_obj((SV*)gv, mg));
 #if LSEEKSIZE > IVSIZE
@@ -1970,7 +1981,7 @@ PP(pp_sysseek)
 
 PP(pp_truncate)
 {
-    djSP;
+    dSP;
     /* There seems to be no consensus on the length type of truncate()
      * and ftruncate(), both off_t and size_t have supporters. In
      * general one would think that when using large files, off_t is
@@ -2057,9 +2068,9 @@ PP(pp_fcntl)
 
 PP(pp_ioctl)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     SV *argsv = POPs;
-    unsigned int func = U_I(POPn);
+    unsigned int func = POPu;
     int optype = PL_op->op_type;
     char *s;
     IV retval;
@@ -2130,7 +2141,7 @@ PP(pp_ioctl)
 
 PP(pp_flock)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     I32 value;
     int argtype;
     GV *gv;
@@ -2170,7 +2181,7 @@ PP(pp_flock)
 
 PP(pp_socket)
 {
-    djSP;
+    dSP;
 #ifdef HAS_SOCKET
     GV *gv;
     register IO *io;
@@ -2191,6 +2202,9 @@ PP(pp_socket)
        RETPUSHUNDEF;
     }
 
+    if (IoIFP(io))
+       do_close(gv, FALSE);
+
     TAINT_PROPER("socket");
     fd = PerlSock_socket(domain, type, protocol);
     if (fd < 0)
@@ -2208,6 +2222,10 @@ PP(pp_socket)
     fcntl(fd, F_SETFD, fd > PL_maxsysfd);      /* ensure close-on-exec */
 #endif
 
+#ifdef EPOC
+    setbuf( IoIFP(io), NULL); /* EPOC gets confused about sockets */
+#endif
+
     RETPUSHYES;
 #else
     DIE(aTHX_ PL_no_sock_func, "socket");
@@ -2216,7 +2234,7 @@ PP(pp_socket)
 
 PP(pp_sockpair)
 {
-    djSP;
+    dSP;
 #ifdef HAS_SOCKETPAIR
     GV *gv1;
     GV *gv2;
@@ -2245,6 +2263,11 @@ PP(pp_sockpair)
        RETPUSHUNDEF;
     }
 
+    if (IoIFP(io1))
+       do_close(gv1, FALSE);
+    if (IoIFP(io2))
+       do_close(gv2, FALSE);
+
     TAINT_PROPER("socketpair");
     if (PerlSock_socketpair(domain, type, protocol, fd) < 0)
        RETPUSHUNDEF;
@@ -2276,7 +2299,7 @@ PP(pp_sockpair)
 
 PP(pp_bind)
 {
-    djSP;
+    dSP;
 #ifdef HAS_SOCKET
 #ifdef MPE /* Requires PRIV mode to bind() to ports < 1024 */
     extern GETPRIVMODE();
@@ -2335,7 +2358,7 @@ nuts:
 
 PP(pp_connect)
 {
-    djSP;
+    dSP;
 #ifdef HAS_SOCKET
     SV *addrsv = POPs;
     char *addr;
@@ -2365,7 +2388,7 @@ nuts:
 
 PP(pp_listen)
 {
-    djSP;
+    dSP;
 #ifdef HAS_SOCKET
     int backlog = POPi;
     GV *gv = (GV*)POPs;
@@ -2391,7 +2414,7 @@ nuts:
 
 PP(pp_accept)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
 #ifdef HAS_SOCKET
     GV *ngv;
     GV *ggv;
@@ -2434,7 +2457,8 @@ PP(pp_accept)
 #endif
 
 #ifdef EPOC
-    len = sizeof saddr;  /* EPOC somehow truncates info */
+    len = sizeof saddr;          /* EPOC somehow truncates info */
+    setbuf( IoIFP(nstio), NULL); /* EPOC gets confused about sockets */
 #endif
 
     PUSHp((char *)&saddr, len);
@@ -2455,7 +2479,7 @@ badexit:
 
 PP(pp_shutdown)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
 #ifdef HAS_SOCKET
     int how = POPi;
     GV *gv = (GV*)POPs;
@@ -2488,7 +2512,7 @@ PP(pp_gsockopt)
 
 PP(pp_ssockopt)
 {
-    djSP;
+    dSP;
 #ifdef HAS_SOCKET
     int optype = PL_op->op_type;
     SV *sv;
@@ -2569,7 +2593,7 @@ PP(pp_getsockname)
 
 PP(pp_getpeername)
 {
-    djSP;
+    dSP;
 #ifdef HAS_SOCKET
     int optype = PL_op->op_type;
     SV *sv;
@@ -2640,7 +2664,7 @@ PP(pp_lstat)
 
 PP(pp_stat)
 {
-    djSP;
+    dSP;
     GV *gv;
     I32 gimme;
     I32 max = 13;
@@ -2761,7 +2785,7 @@ PP(pp_stat)
 PP(pp_ftrread)
 {
     I32 result;
-    djSP;
+    dSP;
 #if defined(HAS_ACCESS) && defined(R_OK)
     STRLEN n_a;
     if ((PL_hints & HINT_FILETEST_ACCESS) && SvPOK(TOPs)) {
@@ -2788,7 +2812,7 @@ PP(pp_ftrread)
 PP(pp_ftrwrite)
 {
     I32 result;
-    djSP;
+    dSP;
 #if defined(HAS_ACCESS) && defined(W_OK)
     STRLEN n_a;
     if ((PL_hints & HINT_FILETEST_ACCESS) && SvPOK(TOPs)) {
@@ -2815,7 +2839,7 @@ PP(pp_ftrwrite)
 PP(pp_ftrexec)
 {
     I32 result;
-    djSP;
+    dSP;
 #if defined(HAS_ACCESS) && defined(X_OK)
     STRLEN n_a;
     if ((PL_hints & HINT_FILETEST_ACCESS) && SvPOK(TOPs)) {
@@ -2842,7 +2866,7 @@ PP(pp_ftrexec)
 PP(pp_fteread)
 {
     I32 result;
-    djSP;
+    dSP;
 #ifdef PERL_EFF_ACCESS_R_OK
     STRLEN n_a;
     if ((PL_hints & HINT_FILETEST_ACCESS) && SvPOK(TOPs)) {
@@ -2869,7 +2893,7 @@ PP(pp_fteread)
 PP(pp_ftewrite)
 {
     I32 result;
-    djSP;
+    dSP;
 #ifdef PERL_EFF_ACCESS_W_OK
     STRLEN n_a;
     if ((PL_hints & HINT_FILETEST_ACCESS) && SvPOK(TOPs)) {
@@ -2896,7 +2920,7 @@ PP(pp_ftewrite)
 PP(pp_fteexec)
 {
     I32 result;
-    djSP;
+    dSP;
 #ifdef PERL_EFF_ACCESS_X_OK
     STRLEN n_a;
     if ((PL_hints & HINT_FILETEST_ACCESS) && SvPOK(TOPs)) {
@@ -2923,7 +2947,7 @@ PP(pp_fteexec)
 PP(pp_ftis)
 {
     I32 result = my_stat();
-    djSP;
+    dSP;
     if (result < 0)
        RETPUSHUNDEF;
     RETPUSHYES;
@@ -2937,7 +2961,7 @@ PP(pp_fteowned)
 PP(pp_ftrowned)
 {
     I32 result = my_stat();
-    djSP;
+    dSP;
     if (result < 0)
        RETPUSHUNDEF;
     if (PL_statcache.st_uid == (PL_op->op_type == OP_FTEOWNED ?
@@ -2949,7 +2973,7 @@ PP(pp_ftrowned)
 PP(pp_ftzero)
 {
     I32 result = my_stat();
-    djSP;
+    dSP;
     if (result < 0)
        RETPUSHUNDEF;
     if (PL_statcache.st_size == 0)
@@ -2960,7 +2984,7 @@ PP(pp_ftzero)
 PP(pp_ftsize)
 {
     I32 result = my_stat();
-    djSP; dTARGET;
+    dSP; dTARGET;
     if (result < 0)
        RETPUSHUNDEF;
 #if Off_t_size > IVSIZE
@@ -2974,7 +2998,7 @@ PP(pp_ftsize)
 PP(pp_ftmtime)
 {
     I32 result = my_stat();
-    djSP; dTARGET;
+    dSP; dTARGET;
     if (result < 0)
        RETPUSHUNDEF;
     PUSHn( (PL_basetime - PL_statcache.st_mtime) / 86400.0 );
@@ -2984,7 +3008,7 @@ PP(pp_ftmtime)
 PP(pp_ftatime)
 {
     I32 result = my_stat();
-    djSP; dTARGET;
+    dSP; dTARGET;
     if (result < 0)
        RETPUSHUNDEF;
     PUSHn( (PL_basetime - PL_statcache.st_atime) / 86400.0 );
@@ -2994,7 +3018,7 @@ PP(pp_ftatime)
 PP(pp_ftctime)
 {
     I32 result = my_stat();
-    djSP; dTARGET;
+    dSP; dTARGET;
     if (result < 0)
        RETPUSHUNDEF;
     PUSHn( (PL_basetime - PL_statcache.st_ctime) / 86400.0 );
@@ -3004,7 +3028,7 @@ PP(pp_ftctime)
 PP(pp_ftsock)
 {
     I32 result = my_stat();
-    djSP;
+    dSP;
     if (result < 0)
        RETPUSHUNDEF;
     if (S_ISSOCK(PL_statcache.st_mode))
@@ -3015,7 +3039,7 @@ PP(pp_ftsock)
 PP(pp_ftchr)
 {
     I32 result = my_stat();
-    djSP;
+    dSP;
     if (result < 0)
        RETPUSHUNDEF;
     if (S_ISCHR(PL_statcache.st_mode))
@@ -3026,7 +3050,7 @@ PP(pp_ftchr)
 PP(pp_ftblk)
 {
     I32 result = my_stat();
-    djSP;
+    dSP;
     if (result < 0)
        RETPUSHUNDEF;
     if (S_ISBLK(PL_statcache.st_mode))
@@ -3037,7 +3061,7 @@ PP(pp_ftblk)
 PP(pp_ftfile)
 {
     I32 result = my_stat();
-    djSP;
+    dSP;
     if (result < 0)
        RETPUSHUNDEF;
     if (S_ISREG(PL_statcache.st_mode))
@@ -3048,7 +3072,7 @@ PP(pp_ftfile)
 PP(pp_ftdir)
 {
     I32 result = my_stat();
-    djSP;
+    dSP;
     if (result < 0)
        RETPUSHUNDEF;
     if (S_ISDIR(PL_statcache.st_mode))
@@ -3059,7 +3083,7 @@ PP(pp_ftdir)
 PP(pp_ftpipe)
 {
     I32 result = my_stat();
-    djSP;
+    dSP;
     if (result < 0)
        RETPUSHUNDEF;
     if (S_ISFIFO(PL_statcache.st_mode))
@@ -3070,7 +3094,7 @@ PP(pp_ftpipe)
 PP(pp_ftlink)
 {
     I32 result = my_lstat();
-    djSP;
+    dSP;
     if (result < 0)
        RETPUSHUNDEF;
     if (S_ISLNK(PL_statcache.st_mode))
@@ -3080,7 +3104,7 @@ PP(pp_ftlink)
 
 PP(pp_ftsuid)
 {
-    djSP;
+    dSP;
 #ifdef S_ISUID
     I32 result = my_stat();
     SPAGAIN;
@@ -3094,7 +3118,7 @@ PP(pp_ftsuid)
 
 PP(pp_ftsgid)
 {
-    djSP;
+    dSP;
 #ifdef S_ISGID
     I32 result = my_stat();
     SPAGAIN;
@@ -3108,7 +3132,7 @@ PP(pp_ftsgid)
 
 PP(pp_ftsvtx)
 {
-    djSP;
+    dSP;
 #ifdef S_ISVTX
     I32 result = my_stat();
     SPAGAIN;
@@ -3122,7 +3146,7 @@ PP(pp_ftsvtx)
 
 PP(pp_fttty)
 {
-    djSP;
+    dSP;
     int fd;
     GV *gv;
     char *tmps = Nullch;
@@ -3158,7 +3182,7 @@ PP(pp_fttty)
 
 PP(pp_fttext)
 {
-    djSP;
+    dSP;
     I32 i;
     I32 len;
     I32 odd = 0;
@@ -3201,11 +3225,12 @@ PP(pp_fttext)
            PL_laststatval = PerlLIO_fstat(PerlIO_fileno(IoIFP(io)), &PL_statcache);
            if (PL_laststatval < 0)
                RETPUSHUNDEF;
-           if (S_ISDIR(PL_statcache.st_mode))  /* handle NFS glitch */
+           if (S_ISDIR(PL_statcache.st_mode)) { /* handle NFS glitch */
                if (PL_op->op_type == OP_FTTEXT)
                    RETPUSHNO;
                else
                    RETPUSHYES;
+            }
            if (PerlIO_get_cnt(IoIFP(io)) <= 0) {
                i = PerlIO_getc(IoIFP(io));
                if (i != EOF)
@@ -3275,7 +3300,7 @@ PP(pp_fttext)
 #else
        else if (*s & 128) {
 #ifdef USE_LOCALE
-           if ((PL_op->op_private & OPpLOCALE) && isALPHA_LC(*s))
+           if (IN_LOCALE_RUNTIME && isALPHA_LC(*s))
                continue;
 #endif
            /* utf8 characters don't count as odd */
@@ -3318,7 +3343,7 @@ PP(pp_ftbinary)
 
 PP(pp_chdir)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     char *tmps;
     SV **svp;
     STRLEN n_a;
@@ -3356,7 +3381,7 @@ PP(pp_chdir)
 
 PP(pp_chown)
 {
-    djSP; dMARK; dTARGET;
+    dSP; dMARK; dTARGET;
     I32 value;
 #ifdef HAS_CHOWN
     value = (I32)apply(PL_op->op_type, MARK, SP);
@@ -3370,7 +3395,7 @@ PP(pp_chown)
 
 PP(pp_chroot)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     char *tmps;
 #ifdef HAS_CHROOT
     STRLEN n_a;
@@ -3385,7 +3410,7 @@ PP(pp_chroot)
 
 PP(pp_unlink)
 {
-    djSP; dMARK; dTARGET;
+    dSP; dMARK; dTARGET;
     I32 value;
     value = (I32)apply(PL_op->op_type, MARK, SP);
     SP = MARK;
@@ -3395,7 +3420,7 @@ PP(pp_unlink)
 
 PP(pp_chmod)
 {
-    djSP; dMARK; dTARGET;
+    dSP; dMARK; dTARGET;
     I32 value;
     value = (I32)apply(PL_op->op_type, MARK, SP);
     SP = MARK;
@@ -3405,7 +3430,7 @@ PP(pp_chmod)
 
 PP(pp_utime)
 {
-    djSP; dMARK; dTARGET;
+    dSP; dMARK; dTARGET;
     I32 value;
     value = (I32)apply(PL_op->op_type, MARK, SP);
     SP = MARK;
@@ -3415,7 +3440,7 @@ PP(pp_utime)
 
 PP(pp_rename)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     int anum;
     STRLEN n_a;
 
@@ -3442,7 +3467,7 @@ PP(pp_rename)
 
 PP(pp_link)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
 #ifdef HAS_LINK
     STRLEN n_a;
     char *tmps2 = POPpx;
@@ -3457,7 +3482,7 @@ PP(pp_link)
 
 PP(pp_symlink)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
 #ifdef HAS_SYMLINK
     STRLEN n_a;
     char *tmps2 = POPpx;
@@ -3472,7 +3497,7 @@ PP(pp_symlink)
 
 PP(pp_readlink)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
 #ifdef HAS_SYMLINK
     char *tmps;
     char buf[MAXPATHLEN];
@@ -3584,7 +3609,7 @@ S_dooneliner(pTHX_ char *cmd, char *filename)
 
 PP(pp_mkdir)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     int mode;
 #ifndef HAS_MKDIR
     int oldumask;
@@ -3631,7 +3656,7 @@ PP(pp_mkdir)
 
 PP(pp_rmdir)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     char *tmps;
     STRLEN n_a;
 
@@ -3649,7 +3674,7 @@ PP(pp_rmdir)
 
 PP(pp_open_dir)
 {
-    djSP;
+    dSP;
 #if defined(Direntry_t) && defined(HAS_READDIR)
     STRLEN n_a;
     char *dirname = POPpx;
@@ -3676,9 +3701,9 @@ nope:
 
 PP(pp_readdir)
 {
-    djSP;
+    dSP;
 #if defined(Direntry_t) && defined(HAS_READDIR)
-#ifndef I_DIRENT
+#if !defined(I_DIRENT) && !defined(VMS)
     Direntry_t *readdir (DIR *);
 #endif
     register Direntry_t *dp;
@@ -3734,7 +3759,7 @@ nope:
 
 PP(pp_telldir)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
 #if defined(HAS_TELLDIR) || defined(telldir)
  /* XXX does _anyone_ need this? --AD 2/20/1998 */
  /* XXX netbsd still seemed to.
@@ -3762,7 +3787,7 @@ nope:
 
 PP(pp_seekdir)
 {
-    djSP;
+    dSP;
 #if defined(HAS_SEEKDIR) || defined(seekdir)
     long along = POPl;
     GV *gv = (GV*)POPs;
@@ -3785,7 +3810,7 @@ nope:
 
 PP(pp_rewinddir)
 {
-    djSP;
+    dSP;
 #if defined(HAS_REWINDDIR) || defined(rewinddir)
     GV *gv = (GV*)POPs;
     register IO *io = GvIOn(gv);
@@ -3806,7 +3831,7 @@ nope:
 
 PP(pp_closedir)
 {
-    djSP;
+    dSP;
 #if defined(Direntry_t) && defined(HAS_READDIR)
     GV *gv = (GV*)POPs;
     register IO *io = GvIOn(gv);
@@ -3839,7 +3864,7 @@ nope:
 PP(pp_fork)
 {
 #ifdef HAS_FORK
-    djSP; dTARGET;
+    dSP; dTARGET;
     Pid_t childpid;
     GV *tmpgv;
 
@@ -3858,7 +3883,7 @@ PP(pp_fork)
     RETURN;
 #else
 #  if defined(USE_ITHREADS) && defined(PERL_IMPLICIT_SYS)
-    djSP; dTARGET;
+    dSP; dTARGET;
     Pid_t childpid;
 
     EXTEND(SP, 1);
@@ -3877,11 +3902,17 @@ PP(pp_fork)
 PP(pp_wait)
 {
 #if (!defined(DOSISH) || defined(OS2) || defined(WIN32)) && !defined(MACOS_TRADITIONAL)
-    djSP; dTARGET;
+    dSP; dTARGET;
     Pid_t childpid;
     int argflags;
 
+#ifdef PERL_OLD_SIGNALS
     childpid = wait4pid(-1, &argflags, 0);
+#else
+    while ((childpid = wait4pid(-1, &argflags, 0)) == -1 && errno == EINTR) {
+       PERL_ASYNC_CHECK();
+    }
+#endif
 #  if defined(USE_ITHREADS) && defined(PERL_IMPLICIT_SYS)
     /* 0 and -1 are both error returns (the former applies to WNOHANG case) */
     STATUS_NATIVE_SET((childpid && childpid != -1) ? argflags : -1);
@@ -3898,14 +3929,20 @@ PP(pp_wait)
 PP(pp_waitpid)
 {
 #if (!defined(DOSISH) || defined(OS2) || defined(WIN32)) && !defined(MACOS_TRADITIONAL)
-    djSP; dTARGET;
+    dSP; dTARGET;
     Pid_t childpid;
     int optype;
     int argflags;
 
     optype = POPi;
     childpid = TOPi;
+#ifdef PERL_OLD_SIGNALS
     childpid = wait4pid(childpid, &argflags, optype);
+#else
+    while ((childpid = wait4pid(childpid, &argflags, optype)) == -1 && errno == EINTR) {
+       PERL_ASYNC_CHECK();
+    }
+#endif
 #  if defined(USE_ITHREADS) && defined(PERL_IMPLICIT_SYS)
     /* 0 and -1 are both error returns (the former applies to WNOHANG case) */
     STATUS_NATIVE_SET((childpid && childpid != -1) ? argflags : -1);
@@ -3921,7 +3958,7 @@ PP(pp_waitpid)
 
 PP(pp_system)
 {
-    djSP; dMARK; dORIGMARK; dTARGET;
+    dSP; dMARK; dORIGMARK; dTARGET;
     I32 value;
     Pid_t childpid;
     int result;
@@ -3933,7 +3970,7 @@ PP(pp_system)
 
     if (SP - MARK == 1) {
        if (PL_tainting) {
-           char *junk = SvPV(TOPs, n_a);
+           (void)SvPV_nolen(TOPs);      /* stringify for taint check */
            TAINT_ENV();
            TAINT_PROPER("system");
        }
@@ -4035,7 +4072,7 @@ PP(pp_system)
 
 PP(pp_exec)
 {
-    djSP; dMARK; dORIGMARK; dTARGET;
+    dSP; dMARK; dORIGMARK; dTARGET;
     I32 value;
     STRLEN n_a;
 
@@ -4059,7 +4096,7 @@ PP(pp_exec)
 #endif
     else {
        if (PL_tainting) {
-           char *junk = SvPV(*SP, n_a);
+           (void)SvPV_nolen(*SP);      /* stringify for taint check */
            TAINT_ENV();
            TAINT_PROPER("exec");
        }
@@ -4087,7 +4124,7 @@ PP(pp_exec)
 
 PP(pp_kill)
 {
-    djSP; dMARK; dTARGET;
+    dSP; dMARK; dTARGET;
     I32 value;
 #ifdef HAS_KILL
     value = (I32)apply(PL_op->op_type, MARK, SP);
@@ -4102,7 +4139,7 @@ PP(pp_kill)
 PP(pp_getppid)
 {
 #ifdef HAS_GETPPID
-    djSP; dTARGET;
+    dSP; dTARGET;
     XPUSHi( getppid() );
     RETURN;
 #else
@@ -4113,7 +4150,7 @@ PP(pp_getppid)
 PP(pp_getpgrp)
 {
 #ifdef HAS_GETPGRP
-    djSP; dTARGET;
+    dSP; dTARGET;
     Pid_t pid;
     Pid_t pgrp;
 
@@ -4138,7 +4175,7 @@ PP(pp_getpgrp)
 PP(pp_setpgrp)
 {
 #ifdef HAS_SETPGRP
-    djSP; dTARGET;
+    dSP; dTARGET;
     Pid_t pgrp;
     Pid_t pid;
     if (MAXARG < 2) {
@@ -4169,7 +4206,7 @@ PP(pp_setpgrp)
 
 PP(pp_getpriority)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     int which;
     int who;
 #ifdef HAS_GETPRIORITY
@@ -4184,7 +4221,7 @@ PP(pp_getpriority)
 
 PP(pp_setpriority)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     int which;
     int who;
     int niceval;
@@ -4204,7 +4241,7 @@ PP(pp_setpriority)
 
 PP(pp_time)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
 #ifdef BIG_TIME
     XPUSHn( time(Null(Time_t*)) );
 #else
@@ -4231,7 +4268,7 @@ PP(pp_time)
 
 PP(pp_tms)
 {
-    djSP;
+    dSP;
 
 #ifndef HAS_TIMES
     DIE(aTHX_ "times not implemented");
@@ -4263,7 +4300,7 @@ PP(pp_localtime)
 
 PP(pp_gmtime)
 {
-    djSP;
+    dSP;
     Time_t when;
     struct tm *tmbuf;
     static char *dayname[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
@@ -4316,7 +4353,7 @@ PP(pp_gmtime)
 
 PP(pp_alarm)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     int anum;
 #ifdef HAS_ALARM
     anum = POPi;
@@ -4333,7 +4370,7 @@ PP(pp_alarm)
 
 PP(pp_sleep)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
     I32 duration;
     Time_t lasttime;
     Time_t when;
@@ -4370,7 +4407,7 @@ PP(pp_shmread)
 PP(pp_shmwrite)
 {
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-    djSP; dMARK; dTARGET;
+    dSP; dMARK; dTARGET;
     I32 value = (I32)(do_shmio(PL_op->op_type, MARK, SP) >= 0);
     SP = MARK;
     PUSHi(value);
@@ -4395,7 +4432,7 @@ PP(pp_msgctl)
 PP(pp_msgsnd)
 {
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-    djSP; dMARK; dTARGET;
+    dSP; dMARK; dTARGET;
     I32 value = (I32)(do_msgsnd(MARK, SP) >= 0);
     SP = MARK;
     PUSHi(value);
@@ -4408,7 +4445,7 @@ PP(pp_msgsnd)
 PP(pp_msgrcv)
 {
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-    djSP; dMARK; dTARGET;
+    dSP; dMARK; dTARGET;
     I32 value = (I32)(do_msgrcv(MARK, SP) >= 0);
     SP = MARK;
     PUSHi(value);
@@ -4423,7 +4460,7 @@ PP(pp_msgrcv)
 PP(pp_semget)
 {
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-    djSP; dMARK; dTARGET;
+    dSP; dMARK; dTARGET;
     int anum = do_ipcget(PL_op->op_type, MARK, SP);
     SP = MARK;
     if (anum == -1)
@@ -4438,7 +4475,7 @@ PP(pp_semget)
 PP(pp_semctl)
 {
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-    djSP; dMARK; dTARGET;
+    dSP; dMARK; dTARGET;
     int anum = do_ipcctl(PL_op->op_type, MARK, SP);
     SP = MARK;
     if (anum == -1)
@@ -4458,7 +4495,7 @@ PP(pp_semctl)
 PP(pp_semop)
 {
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-    djSP; dMARK; dTARGET;
+    dSP; dMARK; dTARGET;
     I32 value = (I32)(do_semop(MARK, SP) >= 0);
     SP = MARK;
     PUSHi(value);
@@ -4490,7 +4527,7 @@ PP(pp_ghbyaddr)
 
 PP(pp_ghostent)
 {
-    djSP;
+    dSP;
 #if defined(HAS_GETHOSTBYNAME) || defined(HAS_GETHOSTBYADDR) || defined(HAS_GETHOSTENT)
     I32 which = PL_op->op_type;
     register char **elem;
@@ -4507,7 +4544,7 @@ PP(pp_ghostent)
     EXTEND(SP, 10);
     if (which == OP_GHBYNAME)
 #ifdef HAS_GETHOSTBYNAME
-       hent = PerlSock_gethostbyname(POPpx);
+       hent = PerlSock_gethostbyname(POPpbytex);
 #else
        DIE(aTHX_ PL_no_sock_func, "gethostbyname");
 #endif
@@ -4516,7 +4553,7 @@ PP(pp_ghostent)
        int addrtype = POPi;
        SV *addrsv = POPs;
        STRLEN addrlen;
-       Netdb_host_t addr = (Netdb_host_t) SvPV(addrsv, addrlen);
+       Netdb_host_t addr = (Netdb_host_t) SvPVbyte(addrsv, addrlen);
 
        hent = PerlSock_gethostbyaddr(addr, (Netdb_hlen_t) addrlen, addrtype);
 #else
@@ -4599,7 +4636,7 @@ PP(pp_gnbyaddr)
 
 PP(pp_gnetent)
 {
-    djSP;
+    dSP;
 #if defined(HAS_GETNETBYNAME) || defined(HAS_GETNETBYADDR) || defined(HAS_GETNETENT)
     I32 which = PL_op->op_type;
     register char **elem;
@@ -4614,14 +4651,14 @@ PP(pp_gnetent)
 
     if (which == OP_GNBYNAME)
 #ifdef HAS_GETNETBYNAME
-       nent = PerlSock_getnetbyname(POPpx);
+       nent = PerlSock_getnetbyname(POPpbytex);
 #else
         DIE(aTHX_ PL_no_sock_func, "getnetbyname");
 #endif
     else if (which == OP_GNBYADDR) {
 #ifdef HAS_GETNETBYADDR
        int addrtype = POPi;
-       Netdb_net_t addr = (Netdb_net_t) U_L(POPn);
+       Netdb_net_t addr = (Netdb_net_t) (U32)POPu;
        nent = PerlSock_getnetbyaddr(addr, addrtype);
 #else
        DIE(aTHX_ PL_no_sock_func, "getnetbyaddr");
@@ -4687,7 +4724,7 @@ PP(pp_gpbynumber)
 
 PP(pp_gprotoent)
 {
-    djSP;
+    dSP;
 #if defined(HAS_GETPROTOBYNAME) || defined(HAS_GETPROTOBYNUMBER) || defined(HAS_GETPROTOENT)
     I32 which = PL_op->op_type;
     register char **elem;
@@ -4702,7 +4739,7 @@ PP(pp_gprotoent)
 
     if (which == OP_GPBYNAME)
 #ifdef HAS_GETPROTOBYNAME
-       pent = PerlSock_getprotobyname(POPpx);
+       pent = PerlSock_getprotobyname(POPpbytex);
 #else
        DIE(aTHX_ PL_no_sock_func, "getprotobyname");
 #endif
@@ -4770,7 +4807,7 @@ PP(pp_gsbyport)
 
 PP(pp_gservent)
 {
-    djSP;
+    dSP;
 #if defined(HAS_GETSERVBYNAME) || defined(HAS_GETSERVBYPORT) || defined(HAS_GETSERVENT)
     I32 which = PL_op->op_type;
     register char **elem;
@@ -4785,8 +4822,8 @@ PP(pp_gservent)
 
     if (which == OP_GSBYNAME) {
 #ifdef HAS_GETSERVBYNAME
-       char *proto = POPpx;
-       char *name = POPpx;
+       char *proto = POPpbytex;
+       char *name = POPpbytex;
 
        if (proto && !*proto)
            proto = Nullch;
@@ -4798,7 +4835,7 @@ PP(pp_gservent)
     }
     else if (which == OP_GSBYPORT) {
 #ifdef HAS_GETSERVBYPORT
-       char *proto = POPpx;
+       char *proto = POPpbytex;
        unsigned short port = POPu;
 
 #ifdef HAS_HTONS
@@ -4860,7 +4897,7 @@ PP(pp_gservent)
 
 PP(pp_shostent)
 {
-    djSP;
+    dSP;
 #ifdef HAS_SETHOSTENT
     PerlSock_sethostent(TOPi);
     RETSETYES;
@@ -4871,7 +4908,7 @@ PP(pp_shostent)
 
 PP(pp_snetent)
 {
-    djSP;
+    dSP;
 #ifdef HAS_SETNETENT
     PerlSock_setnetent(TOPi);
     RETSETYES;
@@ -4882,7 +4919,7 @@ PP(pp_snetent)
 
 PP(pp_sprotoent)
 {
-    djSP;
+    dSP;
 #ifdef HAS_SETPROTOENT
     PerlSock_setprotoent(TOPi);
     RETSETYES;
@@ -4893,7 +4930,7 @@ PP(pp_sprotoent)
 
 PP(pp_sservent)
 {
-    djSP;
+    dSP;
 #ifdef HAS_SETSERVENT
     PerlSock_setservent(TOPi);
     RETSETYES;
@@ -4904,7 +4941,7 @@ PP(pp_sservent)
 
 PP(pp_ehostent)
 {
-    djSP;
+    dSP;
 #ifdef HAS_ENDHOSTENT
     PerlSock_endhostent();
     EXTEND(SP,1);
@@ -4916,7 +4953,7 @@ PP(pp_ehostent)
 
 PP(pp_enetent)
 {
-    djSP;
+    dSP;
 #ifdef HAS_ENDNETENT
     PerlSock_endnetent();
     EXTEND(SP,1);
@@ -4928,7 +4965,7 @@ PP(pp_enetent)
 
 PP(pp_eprotoent)
 {
-    djSP;
+    dSP;
 #ifdef HAS_ENDPROTOENT
     PerlSock_endprotoent();
     EXTEND(SP,1);
@@ -4940,7 +4977,7 @@ PP(pp_eprotoent)
 
 PP(pp_eservent)
 {
-    djSP;
+    dSP;
 #ifdef HAS_ENDSERVENT
     PerlSock_endservent();
     EXTEND(SP,1);
@@ -4970,7 +5007,7 @@ PP(pp_gpwuid)
 
 PP(pp_gpwent)
 {
-    djSP;
+    dSP;
 #ifdef HAS_PASSWD
     I32 which = PL_op->op_type;
     register SV *sv;
@@ -5032,7 +5069,7 @@ PP(pp_gpwent)
 
     switch (which) {
     case OP_GPWNAM:
-       pwent  = getpwnam(POPpx);
+       pwent  = getpwnam(POPpbytex);
        break;
     case OP_GPWUID:
        pwent = getpwuid((Uid_t)POPi);
@@ -5184,7 +5221,7 @@ PP(pp_gpwent)
 
 PP(pp_spwent)
 {
-    djSP;
+    dSP;
 #if defined(HAS_PASSWD) && defined(HAS_SETPWENT)
     setpwent();
     RETPUSHYES;
@@ -5195,7 +5232,7 @@ PP(pp_spwent)
 
 PP(pp_epwent)
 {
-    djSP;
+    dSP;
 #if defined(HAS_PASSWD) && defined(HAS_ENDPWENT)
     endpwent();
     RETPUSHYES;
@@ -5224,7 +5261,7 @@ PP(pp_ggrgid)
 
 PP(pp_ggrent)
 {
-    djSP;
+    dSP;
 #ifdef HAS_GROUP
     I32 which = PL_op->op_type;
     register char **elem;
@@ -5233,7 +5270,7 @@ PP(pp_ggrent)
     STRLEN n_a;
 
     if (which == OP_GGRNAM)
-       grent = (struct group *)getgrnam(POPpx);
+       grent = (struct group *)getgrnam(POPpbytex);
     else if (which == OP_GGRGID)
        grent = (struct group *)getgrgid(POPi);
     else
@@ -5283,7 +5320,7 @@ PP(pp_ggrent)
 
 PP(pp_sgrent)
 {
-    djSP;
+    dSP;
 #if defined(HAS_GROUP) && defined(HAS_SETGRENT)
     setgrent();
     RETPUSHYES;
@@ -5294,7 +5331,7 @@ PP(pp_sgrent)
 
 PP(pp_egrent)
 {
-    djSP;
+    dSP;
 #if defined(HAS_GROUP) && defined(HAS_ENDGRENT)
     endgrent();
     RETPUSHYES;
@@ -5305,7 +5342,7 @@ PP(pp_egrent)
 
 PP(pp_getlogin)
 {
-    djSP; dTARGET;
+    dSP; dTARGET;
 #ifdef HAS_GETLOGIN
     char *tmps;
     EXTEND(SP, 1);
@@ -5323,7 +5360,7 @@ PP(pp_getlogin)
 PP(pp_syscall)
 {
 #ifdef HAS_SYSCALL
-    djSP; dMARK; dORIGMARK; dTARGET;
+    dSP; dMARK; dORIGMARK; dTARGET;
     register I32 items = SP - MARK;
     unsigned long a[20];
     register I32 i = 0;