Upgrade to Encode 1.11, from Dan Kogai.
[p5sagit/p5-mst-13.2.git] / util.c
diff --git a/util.c b/util.c
index cd13986..7843507 100644 (file)
--- a/util.c
+++ b/util.c
@@ -339,19 +339,19 @@ S_xstat(pTHX_ int flag)
 Malloc_t Perl_malloc (MEM_SIZE nbytes)
 {
     dTHXs;
-    return PerlMem_malloc(nbytes);
+    return (Malloc_t)PerlMem_malloc(nbytes);
 }
 
 Malloc_t Perl_calloc (MEM_SIZE elements, MEM_SIZE size)
 {
     dTHXs;
-    return PerlMem_calloc(elements, size);
+    return (Malloc_t)PerlMem_calloc(elements, size);
 }
 
 Malloc_t Perl_realloc (Malloc_t where, MEM_SIZE nbytes)
 {
     dTHXs;
-    return PerlMem_realloc(where, nbytes);
+    return (Malloc_t)PerlMem_realloc(where, nbytes);
 }
 
 Free_t   Perl_mfree (Malloc_t where)
@@ -941,7 +941,7 @@ Perl_savesharedpv(pTHX_ const char *sv)
 {
     register char *newaddr = Nullch;
     if (sv) {
-       newaddr = PerlMemShared_malloc(strlen(sv)+1);
+       newaddr = (char*)PerlMemShared_malloc(strlen(sv)+1);
        (void)strcpy(newaddr,sv);
     }
     return newaddr;
@@ -4018,7 +4018,7 @@ Perl_new_vstring(pTHX_ char *s, SV *sv)
                 /* this is atoi() that tolerates underscores */
                 char *end = pos;
                 UV mult = 1;
-                if ( *(s-1) == '_') {
+                if ( s > pos && *(s-1) == '_') {
                      mult = 10;
                 }
                 while (--end >= s) {
@@ -4055,7 +4055,7 @@ Perl_new_vstring(pTHX_ char *s, SV *sv)
     return s;
 }
 
-#if !defined(HAS_SOCKETPAIR) && defined(HAS_SOCKET) && defined(AF_INET) && defined(PF_INET) && defined(SOCK_DGRAM)
+#if !defined(HAS_SOCKETPAIR) && defined(HAS_SOCKET) && defined(AF_INET) && defined(PF_INET) && defined(SOCK_DGRAM) && defined(HAS_SELECT)
 #   define EMULATE_SOCKETPAIR_UDP
 #endif