Ooops, wrong 'no *POSIX' Patch
[p5sagit/p5-mst-13.2.git] / pp_sys.c
index 31f6fa5..ab43036 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -2440,7 +2440,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);
@@ -4514,7 +4515,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
@@ -4523,7 +4524,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
@@ -4621,7 +4622,7 @@ 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
@@ -4709,7 +4710,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
@@ -4792,8 +4793,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;
@@ -4805,7 +4806,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
@@ -5039,7 +5040,7 @@ PP(pp_gpwent)
 
     switch (which) {
     case OP_GPWNAM:
-       pwent  = getpwnam(POPpx);
+       pwent  = getpwnam(POPpbytex);
        break;
     case OP_GPWUID:
        pwent = getpwuid((Uid_t)POPi);
@@ -5240,7 +5241,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