RESENT - [PATCH] utf8_heavy.pl
[p5sagit/p5-mst-13.2.git] / perlio.c
index 1fab7b7..48d7925 100644 (file)
--- a/perlio.c
+++ b/perlio.c
@@ -450,7 +450,7 @@ PerlIO_fdupopen(pTHX_ PerlIO *f, CLONE_PARAMS *param, int flags)
     if (f && *f) {
        PerlIO_funcs *tab = PerlIOBase(f)->tab;
        PerlIO *new;
-       PerlIO_debug("fdupopen f=%p param=%p\n",f,param);
+       PerlIO_debug("fdupopen f=%p param=%p\n",(void*)f,(void*)param);
         new = (*tab->Dup)(aTHX_ PerlIO_allocate(aTHX),f,param, flags);
        return new;
     }
@@ -603,7 +603,7 @@ PerlIO_pop(pTHX_ PerlIO *f)
 {
     PerlIOl *l = *f;
     if (l) {
-       PerlIO_debug("PerlIO_pop f=%p %s\n", f, l->tab->name);
+       PerlIO_debug("PerlIO_pop f=%p %s\n", (void*)f, l->tab->name);
        if (l->tab->Popped) {
            /*
             * If popped returns non-zero do not free its layer structure
@@ -632,7 +632,7 @@ PerlIO_find_layer(pTHX_ const char *name, STRLEN len, int load)
     for (i = 0; i < PL_known_layers->cur; i++) {
        PerlIO_funcs *f = PL_known_layers->array[i].funcs;
        if (memEQ(f->name, name, len)) {
-           PerlIO_debug("%.*s => %p\n", (int) len, name, f);
+           PerlIO_debug("%.*s => %p\n", (int) len, name, (void*)f);
            return f;
        }
     }
@@ -763,7 +763,7 @@ PerlIO_define_layer(pTHX_ PerlIO_funcs *tab)
     if (!PL_known_layers)
        PL_known_layers = PerlIO_list_alloc(aTHX);
     PerlIO_list_push(aTHX_ PL_known_layers, tab, Nullsv);
-    PerlIO_debug("define %s %p\n", tab->name, tab);
+    PerlIO_debug("define %s %p\n", tab->name, (void*)tab);
 }
 
 int
@@ -859,14 +859,12 @@ void
 PerlIO_default_buffer(pTHX_ PerlIO_list_t *av)
 {
     PerlIO_funcs *tab = &PerlIO_perlio;
-    if (O_BINARY != O_TEXT) {
-       tab = &PerlIO_crlf;
-    }
-    else {
-       if (PerlIO_stdio.Set_ptrcnt) {
-           tab = &PerlIO_stdio;
-       }
-    }
+#ifdef PERLIO_USING_CRLF
+    tab = &PerlIO_crlf;
+#else
+    if (PerlIO_stdio.Set_ptrcnt)
+        tab = &PerlIO_stdio;
+#endif
     PerlIO_debug("Pushing %s\n", tab->name);
     PerlIO_list_push(aTHX_ av, PerlIO_find_layer(aTHX_ tab->name, 0, 0),
                     &PL_sv_undef);
@@ -973,8 +971,8 @@ PerlIO_push(pTHX_ PerlIO *f, PerlIO_funcs *tab, const char *mode, SV *arg)
        l->next = *f;
        l->tab = tab;
        *f = l;
-       PerlIO_debug("PerlIO_push f=%p %s %s %p\n", f, tab->name,
-                    (mode) ? mode : "(Null)", arg);
+       PerlIO_debug("PerlIO_push f=%p %s %s %p\n", (void*)f, tab->name,
+                    (mode) ? mode : "(Null)", (void*)arg);
        if ((*l->tab->Pushed) (f, mode, arg) != 0) {
            PerlIO_pop(aTHX_ f);
            return NULL;
@@ -1023,7 +1021,7 @@ PerlIORaw_pushed(PerlIO *f, const char *mode, SV *arg)
                break;
            }
        }
-       PerlIO_debug(":raw f=%p :%s\n", f, PerlIOBase(f)->tab->name);
+       PerlIO_debug(":raw f=%p :%s\n", (void*)f, PerlIOBase(f)->tab->name);
        return 0;
     }
     return -1;
@@ -1073,12 +1071,13 @@ int
 PerlIO_binmode(pTHX_ PerlIO *f, int iotype, int mode, const char *names)
 {
     PerlIO_debug("PerlIO_binmode f=%p %s %c %x %s\n",
-                f, PerlIOBase(f)->tab->name, iotype, mode,
+                (void*)f, PerlIOBase(f)->tab->name, iotype, mode,
                 (names) ? names : "(Null)");
     /* Can't flush if switching encodings. */
     if (!(names && memEQ(names, ":encoding(", 10))) {
         PerlIO_flush(f);
-       if (!names && (O_TEXT != O_BINARY && (mode & O_BINARY))) {
+#ifdef PERLIO_USING_CRLF
+       if (!names && (mode & O_BINARY)) {
            PerlIO *top = f;
            while (*top) {
                if (PerlIOBase(top)->tab == &PerlIO_crlf) {
@@ -1089,6 +1088,7 @@ PerlIO_binmode(pTHX_ PerlIO *f, int iotype, int mode, const char *names)
                PerlIO_flush(top);
            }
        }
+#endif
     }
     return PerlIO_apply_layers(aTHX_ f, NULL, names) == 0 ? TRUE : FALSE;
 }
@@ -1290,8 +1290,8 @@ PerlIO_openn(pTHX_ const char *layers, const char *mode, int fd,
                Perl_croak(aTHX_ "More than one argument to open(,':%s')",tab->name);
            }
            PerlIO_debug("openn(%s,'%s','%s',%d,%x,%o,%p,%d,%p)\n",
-                        tab->name, layers, mode, fd, imode, perm, f, narg,
-                        args);
+                        tab->name, layers, mode, fd, imode, perm,
+                        (void*)f, narg, (void*)args);
            f = (*tab->Open) (aTHX_ tab, layera, n, mode, fd, imode, perm,
                              f, narg, args);
            if (f) {
@@ -1410,13 +1410,13 @@ PerlIO_flush(PerlIO *f)
                return (*tab->Flush) (f);
            }
            else {
-               PerlIO_debug("Cannot flush f=%p :%s\n", f, tab->name);
+               PerlIO_debug("Cannot flush f=%p :%s\n", (void*)f, tab->name);
                SETERRNO(EBADF, SS$_IVCHAN);
                return -1;
            }
        }
        else {
-           PerlIO_debug("Cannot flush f=%p\n", f);
+           PerlIO_debug("Cannot flush f=%p\n", (void*)f);
            SETERRNO(EBADF, SS$_IVCHAN);
            return -1;
        }
@@ -1781,7 +1781,7 @@ PerlIO_modestr(PerlIO *f, char *buf)
            *s++ = '+';
        }
     }
-#if O_TEXT != O_BINARY
+#ifdef PERLIO_USING_CRLF
     if (!(flags & PERLIO_F_CRLF))
        *s++ = 'b';
 #endif
@@ -1993,7 +1993,8 @@ PerlIOBase_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags)
        PerlIO_funcs *self = PerlIOBase(o)->tab;
        SV *arg = Nullsv;
        char buf[8];
-       PerlIO_debug("PerlIOBase_dup %s f=%p o=%p param=%p\n",self->name,f,o,param);
+       PerlIO_debug("PerlIOBase_dup %s f=%p o=%p param=%p\n",
+                    self->name, (void*)f, (void*)o, (void*)param);
        if (self->Getarg) {
            arg = (*self->Getarg)(aTHX_ o,param,flags);
        }
@@ -2367,9 +2368,9 @@ PerlIOStdio_mode(const char *mode, char *tmode)
     while (*mode) {
        *tmode++ = *mode++;
     }
-    if (O_BINARY != O_TEXT) {
-       *tmode++ = 'b';
-    }
+#ifdef PERLIO_USING_CRLF
+    *tmode++ = 'b';
+#endif
     *tmode = '\0';
     return ret;
 }
@@ -2693,7 +2694,7 @@ PerlIOStdio_get_base(PerlIO *f)
 {
     dSYS;
     FILE *stdio = PerlIOSelf(f, PerlIOStdio)->stdio;
-    return PerlSIO_get_base(stdio);
+    return (STDCHAR*)PerlSIO_get_base(stdio);
 }
 
 Size_t
@@ -2711,7 +2712,7 @@ PerlIOStdio_get_ptr(PerlIO *f)
 {
     dSYS;
     FILE *stdio = PerlIOSelf(f, PerlIOStdio)->stdio;
-    return PerlSIO_get_ptr(stdio);
+    return (STDCHAR*)PerlSIO_get_ptr(stdio);
 }
 
 SSize_t
@@ -2729,7 +2730,7 @@ PerlIOStdio_set_ptrcnt(PerlIO *f, STDCHAR * ptr, SSize_t cnt)
     dSYS;
     if (ptr != NULL) {
 #ifdef STDIO_PTR_LVALUE
-       PerlSIO_set_ptr(stdio, ptr);
+        PerlSIO_set_ptr(stdio, (void*)ptr); /* LHS STDCHAR* cast non-portable */ 
 #ifdef STDIO_PTR_LVAL_SETS_CNT
        if (PerlSIO_get_cnt(stdio) != (cnt)) {
            dTHX;
@@ -2906,7 +2907,7 @@ PerlIOBuf_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers,
                return NULL;
            } else {
                fd = PerlIO_fileno(f);
-#if (O_BINARY != O_TEXT) && !defined(__BEOS__)
+#ifdef PERLIO_USING_CRLF
                /*
                 * do something about failing setmode()? --jhi
                 */