Change 25421 by [EMAIL PROTECTED] on 2005/09/16 19:49:49

        Integrate:
        [ 24037]
        Subject: [PATCH] Adding const qualifiers
        From: Andy Lester <[EMAIL PROTECTED]>
        Date: Sun, 13 Mar 2005 14:20:05 -0600
        Message-ID: <[EMAIL PROTECTED]>
        
        
        (bowlderised to remove const from all externally linked function
         prototypes)

Affected files ...

... //depot/maint-5.8/perl/av.c#19 integrate
... //depot/maint-5.8/perl/embed.fnc#60 edit
... //depot/maint-5.8/perl/gv.c#30 integrate
... //depot/maint-5.8/perl/hv.c#47 integrate
... //depot/maint-5.8/perl/mg.c#57 integrate
... //depot/maint-5.8/perl/op.c#80 integrate
... //depot/maint-5.8/perl/pod/perlapi.pod#47 integrate
... //depot/maint-5.8/perl/pp_ctl.c#71 integrate
... //depot/maint-5.8/perl/proto.h#51 integrate
... //depot/maint-5.8/perl/scope.c#26 integrate
... //depot/maint-5.8/perl/utf8.c#25 integrate

Differences ...

==== //depot/maint-5.8/perl/av.c#19 (text) ====
Index: perl/av.c
--- perl/av.c#18~25390~ Mon Sep 12 09:18:42 2005
+++ perl/av.c   Fri Sep 16 12:49:49 2005
@@ -193,7 +193,7 @@
        return 0;
 
     if (SvRMAGICAL(av)) {
-        MAGIC *tied_magic = mg_find((SV*)av, PERL_MAGIC_tied);
+        const MAGIC * const tied_magic = mg_find((SV*)av, PERL_MAGIC_tied);
         if (tied_magic || mg_find((SV*)av, PERL_MAGIC_regdata)) {
             U32 adjust_index = 1;
 
@@ -281,7 +281,7 @@
        val = &PL_sv_undef;
 
     if (SvRMAGICAL(av)) {
-        MAGIC *tied_magic = mg_find((SV*)av, PERL_MAGIC_tied);
+        const MAGIC * const tied_magic = mg_find((SV*)av, PERL_MAGIC_tied);
         if (tied_magic) {
             /* Handle negative array indices 20020222 MJD */
             if (key < 0) {
@@ -803,10 +803,10 @@
        Perl_croak(aTHX_ PL_no_modify);
 
     if (SvRMAGICAL(av)) {
-        MAGIC *tied_magic = mg_find((SV*)av, PERL_MAGIC_tied);
-        SV **svp;
+        const MAGIC * const tied_magic = mg_find((SV*)av, PERL_MAGIC_tied);
         if ((tied_magic || mg_find((SV*)av, PERL_MAGIC_regdata))) {
             /* Handle negative array indices 20020222 MJD */
+            SV **svp;
             if (key < 0) {
                 unsigned adjust_index = 1;
                 if (tied_magic) {
@@ -887,7 +887,7 @@
 
 
     if (SvRMAGICAL(av)) {
-        MAGIC *tied_magic = mg_find((SV*)av, PERL_MAGIC_tied);
+        const MAGIC * const tied_magic = mg_find((SV*)av, PERL_MAGIC_tied);
         if (tied_magic || mg_find((SV*)av, PERL_MAGIC_regdata)) {
             SV *sv = sv_newmortal();
             MAGIC *mg;

==== //depot/maint-5.8/perl/gv.c#30 (text) ====
Index: perl/gv.c
--- perl/gv.c#29~25391~ Mon Sep 12 12:50:36 2005
+++ perl/gv.c   Fri Sep 16 12:49:49 2005
@@ -1105,7 +1105,7 @@
        break;
        case '\026':    /* $^V */
        {
-           SV *sv = GvSV(gv);
+           SV * const sv = GvSV(gv);
            GvSV(gv) = SvREFCNT_inc(PL_patchlevel);
            SvREFCNT_dec(sv);
        }
@@ -1118,8 +1118,8 @@
 void
 Perl_gv_fullname4(pTHX_ SV *sv, GV *gv, const char *prefix, bool keepmain)
 {
-    char *name;
-    HV *hv = GvSTASH(gv);
+    const char *name;
+    const HV * const hv = GvSTASH(gv);
     if (!hv) {
        SvOK_off(sv);
        return;
@@ -1158,14 +1158,14 @@
     gv_efullname4(sv, gv, prefix, TRUE);
 }
 
-/* XXX compatibility with versions <= 5.003. */
+/* compatibility with versions <= 5.003. */
 void
 Perl_gv_fullname(pTHX_ SV *sv, GV *gv)
 {
-    gv_fullname3(sv, gv, sv == (SV*)gv ? "*" : "");
+    gv_fullname3(sv, gv, sv == (const SV*)gv ? "*" : "");
 }
 
-/* XXX compatibility with versions <= 5.003. */
+/* compatibility with versions <= 5.003. */
 void
 Perl_gv_efullname(pTHX_ SV *sv, GV *gv)
 {

==== //depot/maint-5.8/perl/hv.c#47 (text) ====
Index: perl/hv.c
--- perl/hv.c#46~25385~ Sun Sep 11 13:36:26 2005
+++ perl/hv.c   Fri Sep 16 12:49:49 2005
@@ -90,7 +90,7 @@
 STATIC HEK *
 S_save_hek_flags(pTHX_ const char *str, I32 len, U32 hash, int flags)
 {
-    int flags_masked = flags & HVhek_MASK;
+    const int flags_masked = flags & HVhek_MASK;
     char *k;
     register HEK *hek;
 
@@ -2016,7 +2016,7 @@
             break;
         }
     } else {
-        int flags_masked = k_flags & HVhek_MASK;
+        const int flags_masked = k_flags & HVhek_MASK;
         for (entry = *oentry; entry; oentry = &HeNEXT(entry), entry = *oentry) 
{
             if (HeHASH(entry) != hash)         /* strings can't be equal */
                 continue;
@@ -2093,7 +2093,7 @@
     register HE *entry;
     register HE **oentry;
     I32 found = 0;
-    int flags_masked = flags & HVhek_MASK;
+    const int flags_masked = flags & HVhek_MASK;
 
     /* what follows is the moral equivalent of:
 

==== //depot/maint-5.8/perl/mg.c#57 (text) ====
Index: perl/mg.c
--- perl/mg.c#56~25391~ Mon Sep 12 12:50:36 2005
+++ perl/mg.c   Fri Sep 16 12:49:49 2005
@@ -63,8 +63,8 @@
 #  define  FAKE_DEFAULT_SIGNAL_HANDLERS
 #endif
 
-static void restore_magic(pTHX_ void *p);
-static void unwind_handler_stack(pTHX_ void *p);
+static void restore_magic(pTHX_ const void *p);
+static void unwind_handler_stack(pTHX_ const void *p);
 
 #ifdef __Lynx__
 /* Missing protos on LynxOS */
@@ -116,7 +116,7 @@
 {
     MAGIC* mg;
     for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
-       MGVTBL* vtbl = mg->mg_virtual;
+       const MGVTBL* const vtbl = mg->mg_virtual;
        if (vtbl) {
            if (vtbl->svt_get && !(mg->mg_flags & MGf_GSKIP))
                SvGMAGICAL_on(sv);
@@ -139,10 +139,10 @@
 int
 Perl_mg_get(pTHX_ SV *sv)
 {
+    const I32 mgs_ix = SSNEW(sizeof(MGS));
+    const bool was_temp = SvTEMP(sv);
     int have_new = 0;
     MAGIC *newmg, *head, *cur, *mg;
-    I32 mgs_ix = SSNEW(sizeof(MGS));
-    int was_temp = SvTEMP(sv);
     /* guard against sv having being freed midway by holding a private
        reference. */
 
@@ -163,7 +163,7 @@
 
     newmg = cur = head = mg = SvMAGIC(sv);
     while (mg) {
-       MGVTBL *vtbl = mg->mg_virtual;
+       const MGVTBL * const vtbl = mg->mg_virtual;
 
        if (!(mg->mg_flags & MGf_GSKIP) && vtbl && vtbl->svt_get) {
            CALL_FPTR(vtbl->svt_get)(aTHX_ sv, mg);
@@ -219,11 +219,10 @@
 int
 Perl_mg_set(pTHX_ SV *sv)
 {
-    I32 mgs_ix;
+    const I32 mgs_ix = SSNEW(sizeof(MGS));
     MAGIC* mg;
     MAGIC* nextmg;
 
-    mgs_ix = SSNEW(sizeof(MGS));
     save_magic(mgs_ix, sv);
 
     for (mg = SvMAGIC(sv); mg; mg = nextmg) {
@@ -256,11 +255,9 @@
     STRLEN len;
 
     for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
-       MGVTBL* vtbl = mg->mg_virtual;
+        const MGVTBL * const vtbl = mg->mg_virtual;
        if (vtbl && vtbl->svt_len) {
-            I32 mgs_ix;
-
-           mgs_ix = SSNEW(sizeof(MGS));
+            const I32 mgs_ix = SSNEW(sizeof(MGS));
            save_magic(mgs_ix, sv);
            /* omit MGf_GSKIP -- not changed here */
            len = CALL_FPTR(vtbl->svt_len)(aTHX_ sv, mg);
@@ -269,8 +266,7 @@
        }
     }
 
-    if (DO_UTF8(sv))
-    {
+    if (DO_UTF8(sv)) {
         U8 *s = (U8*)SvPV(sv, len);
         len = Perl_utf8_length(aTHX_ s, s + len);
     }
@@ -283,14 +279,12 @@
 Perl_mg_size(pTHX_ SV *sv)
 {
     MAGIC* mg;
-    I32 len;
 
     for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
-       MGVTBL* vtbl = mg->mg_virtual;
+        const MGVTBL* const vtbl = mg->mg_virtual;
        if (vtbl && vtbl->svt_len) {
-            I32 mgs_ix;
-
-           mgs_ix = SSNEW(sizeof(MGS));
+            const I32 mgs_ix = SSNEW(sizeof(MGS));
+            I32 len;
            save_magic(mgs_ix, sv);
            /* omit MGf_GSKIP -- not changed here */
            len = CALL_FPTR(vtbl->svt_len)(aTHX_ sv, mg);
@@ -301,8 +295,7 @@
 
     switch(SvTYPE(sv)) {
        case SVt_PVAV:
-           len = AvFILLp((AV *) sv); /* Fallback to non-tied array */
-           return len;
+           return AvFILLp((AV *) sv); /* Fallback to non-tied array */
        case SVt_PVHV:
            /* FIXME */
        default:
@@ -323,14 +316,13 @@
 int
 Perl_mg_clear(pTHX_ SV *sv)
 {
-    I32 mgs_ix;
+    const I32 mgs_ix = SSNEW(sizeof(MGS));
     MAGIC* mg;
 
-    mgs_ix = SSNEW(sizeof(MGS));
     save_magic(mgs_ix, sv);
 
     for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
-       MGVTBL* vtbl = mg->mg_virtual;
+        const MGVTBL* const vtbl = mg->mg_virtual;
        /* omit GSKIP -- never set here */
 
        if (vtbl && vtbl->svt_clear)
@@ -352,12 +344,12 @@
 MAGIC*
 Perl_mg_find(pTHX_ SV *sv, int type)
 {
-    MAGIC* mg;
-    if (!sv)
-        return 0;
-    for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
-       if (mg->mg_type == type)
-           return mg;
+    if (sv) {
+        MAGIC *mg;
+        for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
+            if (mg->mg_type == type)
+                return mg;
+        }
     }
     return 0;
 }
@@ -376,7 +368,7 @@
     int count = 0;
     MAGIC* mg;
     for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
-       MGVTBL* vtbl = mg->mg_virtual;
+        const MGVTBL* const vtbl = mg->mg_virtual;
        if ((mg->mg_flags & MGf_COPY) && vtbl->svt_copy){
            count += CALL_FPTR(vtbl->svt_copy)(aTHX_ sv, mg, nsv, key, klen);
        }
@@ -406,7 +398,7 @@
     MAGIC* mg;
     MAGIC* moremagic;
     for (mg = SvMAGIC(sv); mg; mg = moremagic) {
-       MGVTBL* vtbl = mg->mg_virtual;
+        const MGVTBL* const vtbl = mg->mg_virtual;
        moremagic = mg->mg_moremagic;
        if (vtbl && vtbl->svt_free)
            CALL_FPTR(vtbl->svt_free)(aTHX_ sv, mg);
@@ -429,7 +421,7 @@
 U32
 Perl_magic_regdata_cnt(pTHX_ SV *sv, MAGIC *mg)
 {
-    register REGEXP *rx;
+    register const REGEXP *rx;
 
     if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
        if (mg->mg_obj)         /* @+ */
@@ -444,20 +436,19 @@
 int
 Perl_magic_regdatum_get(pTHX_ SV *sv, MAGIC *mg)
 {
-    register I32 paren;
-    register I32 s;
-    register I32 i;
     register REGEXP *rx;
-    I32 t;
 
     if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
-       paren = mg->mg_len;
+        register const I32 paren = mg->mg_len;
+        register I32 s;
+        register I32 t;
        if (paren < 0)
            return 0;
        if (paren <= (I32)rx->nparens &&
            (s = rx->startp[paren]) != -1 &&
            (t = rx->endp[paren]) != -1)
            {
+                register I32 i;
                if (mg->mg_obj)         /* @+ */
                    i = t;
                else                    /* @- */
@@ -1164,10 +1155,9 @@
     /* XXX Some of this code was copied from Perl_magic_setsig. A little
      * refactoring might be in order.
      */
-    register char *s;
     STRLEN n_a;
     SV* to_dec;
-    s = MgPV(mg,n_a);
+    register char *s = MgPV(mg,n_a);
     if (*s == '_') {
        SV** svp;
        if (strEQ(s,"__DIE__"))
@@ -1303,7 +1293,6 @@
 int
 Perl_magic_setsig(pTHX_ SV *sv, MAGIC *mg)
 {
-    register char *s;
     I32 i;
     SV** svp = 0;
     /* Need to be careful with SvREFCNT_dec(), because that can have side
@@ -1317,7 +1306,7 @@
     SV* save_sv;
 #endif
 
-    s = MgPV(mg,len);
+    register char *s = MgPV(mg,len);
     if (*s == '_') {
        if (strEQ(s,"__DIE__"))
            svp = &PL_diehook;
@@ -1583,7 +1572,7 @@
 Perl_magic_nextpack(pTHX_ SV *sv, MAGIC *mg, SV *key)
 {
     dSP;
-    const char *meth = SvOK(key) ? "NEXTKEY" : "FIRSTKEY";
+    const char * const meth = SvOK(key) ? "NEXTKEY" : "FIRSTKEY";
 
     ENTER;
     SAVETMPS;
@@ -1791,8 +1780,8 @@
 Perl_magic_getsubstr(pTHX_ SV *sv, MAGIC *mg)
 {
     STRLEN len;
-    SV *lsv = LvTARG(sv);
-    char *tmps = SvPV(lsv,len);
+    SV * const lsv = LvTARG(sv);
+    const char * const tmps = SvPV(lsv,len);
     I32 offs = LvTARGOFF(sv);
     I32 rem = LvTARGLEN(sv);
 
@@ -1862,7 +1851,7 @@
 int
 Perl_magic_getvec(pTHX_ SV *sv, MAGIC *mg)
 {
-    SV *lsv = LvTARG(sv);
+    SV * const lsv = LvTARG(sv);
 
     if (!lsv) {
        SvOK_off(sv);
@@ -2023,7 +2012,7 @@
 int
 Perl_magic_setuvar(pTHX_ SV *sv, MAGIC *mg)
 {
-    struct ufuncs *uf = (struct ufuncs *)mg->mg_ptr;
+    const struct ufuncs * const uf = (struct ufuncs *)mg->mg_ptr;
 
     if (uf && uf->uf_set)
        (*uf->uf_set)(aTHX_ uf->uf_index, sv);
@@ -2190,7 +2179,7 @@
                    STRLEN len, i;
                    int accumulate = 0 ;
                    int any_fatals = 0 ;
-                   char * ptr = (char*)SvPV(sv, len) ;
+                   const char * const ptr = (char*)SvPV(sv, len) ;
                    for (i = 0 ; i < len ; ++i) {
                        accumulate |= ptr[i] ;
                        any_fatals |= (ptr[i] & 0xAA) ;
@@ -2411,7 +2400,7 @@
     case ')':
 #ifdef HAS_SETGROUPS
        {
-           char *p = SvPV(sv, len);
+           const char *p = SvPV(sv, len);
            Groups_t gary[NGROUPS];
 
            while (isSPACE(*p))
@@ -2685,7 +2674,7 @@
 
 
 static void
-restore_magic(pTHX_ void *p)
+restore_magic(pTHX_ const void *p)
 {
     MGS* mgs = SSPTR(PTR2IV(p), MGS*);
     SV* sv = mgs->mgs_sv;
@@ -2726,9 +2715,9 @@
 }
 
 static void
-unwind_handler_stack(pTHX_ void *p)
+unwind_handler_stack(pTHX_ const void *p)
 {
-    U32 flags = *(U32*)p;
+    const U32 flags = *(U32*)p;
 
     if (flags & 1)
        PL_savestack_ix -= 5; /* Unprotect save in progress. */

==== //depot/maint-5.8/perl/pod/perlapi.pod#47 (text+w) ====
Index: perl/pod/perlapi.pod
--- perl/pod/perlapi.pod#46~24304~      Fri Apr 22 14:41:25 2005
+++ perl/pod/perlapi.pod        Fri Sep 16 12:49:49 2005
@@ -4960,7 +4960,7 @@
 =item bytes_from_utf8
 
 Converts a string C<s> of length C<len> from UTF-8 into byte encoding.
-Unlike <utf8_to_bytes> but like C<bytes_to_utf8>, returns a pointer to
+Unlike C<utf8_to_bytes> but like C<bytes_to_utf8>, returns a pointer to
 the newly-created string, and updates C<len> to contain the new
 length.  Returns the original string if no conversion occurs, C<len>
 is unchanged. Do nothing if C<is_utf8> points to 0. Sets C<is_utf8> to

==== //depot/maint-5.8/perl/pp_ctl.c#71 (text) ====
Index: perl/pp_ctl.c
--- perl/pp_ctl.c#70~25394~     Mon Sep 12 14:21:39 2005
+++ perl/pp_ctl.c       Fri Sep 16 12:49:49 2005
@@ -1327,7 +1327,6 @@
 
     if (PL_in_eval) {
        I32 cxix;
-       register PERL_CONTEXT *cx;
        I32 gimme;
        SV **newsp;
 
@@ -1368,6 +1367,7 @@
 
        if (cxix >= 0) {
            I32 optype;
+           register PERL_CONTEXT *cx;
 
            if (cxix < cxstack_ix)
                dounwind(cxix);
@@ -1395,7 +1395,7 @@
            PL_curcop = cx->blk_oldcop;
 
            if (optype == OP_REQUIRE) {
-               char* msg = SvPVx(ERRSV, n_a);
+               const char* msg = SvPVx(ERRSV, n_a);
                DIE(aTHX_ "%sCompilation failed in require",
                    *msg ? msg : "Unknown error\n");
            }

==== //depot/maint-5.8/perl/scope.c#26 (text) ====
Index: perl/scope.c
--- perl/scope.c#25~25391~      Mon Sep 12 12:50:36 2005
+++ perl/scope.c        Fri Sep 16 12:49:49 2005
@@ -140,15 +140,15 @@
 void
 Perl_pop_scope(pTHX)
 {
-    I32 oldsave = PL_scopestack[--PL_scopestack_ix];
+    const I32 oldsave = PL_scopestack[--PL_scopestack_ix];
     LEAVE_SCOPE(oldsave);
 }
 
 void
 Perl_markstack_grow(pTHX)
 {
-    I32 oldmax = PL_markstack_max - PL_markstack;
-    I32 newmax = GROW(oldmax);
+    const I32 oldmax = PL_markstack_max - PL_markstack;
+    const I32 newmax = GROW(oldmax);
 
     Renew(PL_markstack, newmax, I32);
     PL_markstack_ptr = PL_markstack + oldmax;
@@ -187,7 +187,7 @@
 Perl_free_tmps(pTHX)
 {
     /* XXX should tmps_floor live in cxstack? */
-    I32 myfloor = PL_tmps_floor;
+    const I32 myfloor = PL_tmps_floor;
     while (PL_tmps_ix > myfloor) {      /* clean up after last statement */
        SV* sv = PL_tmps_stack[PL_tmps_ix];
        PL_tmps_stack[PL_tmps_ix--] = Nullsv;
@@ -209,7 +209,7 @@
        sv_upgrade(sv, SvTYPE(osv));
        if (SvGMAGICAL(osv)) {
            MAGIC* mg;
-           bool oldtainted = PL_tainted;
+           const bool oldtainted = PL_tainted;
            mg_get(osv);                /* note, can croak! */
            if (PL_tainting && PL_tainted &&
                        (mg = mg_find(osv, PERL_MAGIC_taint))) {
@@ -668,9 +668,9 @@
 I32
 Perl_save_alloc(pTHX_ I32 size, I32 pad)
 {
-    register I32 start = pad + ((char*)&PL_savestack[PL_savestack_ix]
+    register const I32 start = pad + ((char*)&PL_savestack[PL_savestack_ix]
                                - (char*)PL_savestack);
-    register I32 elems = 1 + ((size + pad - 1) / sizeof(*PL_savestack));
+    register const I32 elems = 1 + ((size + pad - 1) / sizeof(*PL_savestack));
 
     /* SSCHECK may not be good enough */
     while (PL_savestack_ix + elems + 2 > PL_savestack_max)
@@ -786,7 +786,7 @@
            av = (AV*)SSPOPPTR;
            gv = (GV*)SSPOPPTR;
            if (GvAV(gv)) {
-               AV *goner = GvAV(gv);
+               AV * const goner = GvAV(gv);
                SvMAGIC_set(av, SvMAGIC(goner));
                SvFLAGS((SV*)av) |= SvMAGICAL(goner);
                SvMAGICAL_off(goner);
@@ -804,7 +804,7 @@
            hv = (HV*)SSPOPPTR;
            gv = (GV*)SSPOPPTR;
            if (GvHV(gv)) {
-               HV *goner = GvHV(gv);
+               HV * const goner = GvHV(gv);
                SvMAGIC_set(hv, SvMAGIC(goner));
                SvFLAGS(hv) |= SvMAGICAL(goner);
                SvMAGICAL_off(goner);
@@ -942,7 +942,8 @@
                }
            }
            else {      /* Someone has a claim on this, so abandon it. */
-               U32 padflags = SvFLAGS(sv) & (SVs_PADBUSY|SVs_PADMY|SVs_PADTMP);
+               const U32 padflags
+                 = SvFLAGS(sv) & (SVs_PADBUSY|SVs_PADMY|SVs_PADTMP);
                switch (SvTYPE(sv)) {   /* Console ourselves with a new value */
                case SVt_PVAV:  *(SV**)ptr = (SV*)newAV();      break;
                case SVt_PVHV:  *(SV**)ptr = (SV*)newHV();      break;
@@ -1001,7 +1002,7 @@
            hv = (HV*)SSPOPPTR;
            ptr = hv_fetch_ent(hv, sv, 1, 0);
            if (ptr) {
-               SV *oval = HeVAL((HE*)ptr);
+               const SV * const oval = HeVAL((HE*)ptr);
                if (oval && oval != &PL_sv_undef) {
                    ptr = &HeVAL((HE*)ptr);
                    if (SvTIED_mg((SV*)hv, PERL_MAGIC_tied))
@@ -1039,7 +1040,7 @@
            break;
        case SAVEt_PADSV:
            {
-               PADOFFSET off = (PADOFFSET)SSPOPLONG;
+               const PADOFFSET off = (PADOFFSET)SSPOPLONG;
                ptr = SSPOPPTR;
                if (ptr)
                    AvARRAY((PAD*)ptr)[off] = (SV*)SSPOPPTR;

==== //depot/maint-5.8/perl/utf8.c#25 (text) ====
Index: perl/utf8.c
--- perl/utf8.c#24~24197~       Fri Apr  8 02:05:27 2005
+++ perl/utf8.c Fri Sep 16 12:49:49 2005
@@ -652,7 +652,7 @@
 
     if (a < b) {
        while (a < b) {
-           U8 c = UTF8SKIP(a);
+           const U8 c = UTF8SKIP(a);
 
            if (b - a < c) {
                if (ckWARN_d(WARN_UTF8)) {
@@ -769,7 +769,7 @@
 =for apidoc A|U8 *|bytes_from_utf8|U8 *s|STRLEN *len|bool *is_utf8
 
 Converts a string C<s> of length C<len> from UTF-8 into byte encoding.
-Unlike <utf8_to_bytes> but like C<bytes_to_utf8>, returns a pointer to
+Unlike C<utf8_to_bytes> but like C<bytes_to_utf8>, returns a pointer to
 the newly-created string, and updates C<len> to contain the new
 length.  Returns the original string if no conversion occurs, C<len>
 is unchanged. Do nothing if C<is_utf8> points to 0. Sets C<is_utf8> to
@@ -835,16 +835,15 @@
 U8*
 Perl_bytes_to_utf8(pTHX_ U8 *s, STRLEN *len)
 {
-    U8 *send;
+    const U8 * const send = s + (*len);
     U8 *d;
     U8 *dst;
-    send = s + (*len);
 
     Newz(801, d, (*len) * 2 + 1, U8);
     dst = d;
 
     while (s < send) {
-        UV uv = NATIVE_TO_ASCII(*s++);
+        const UV uv = NATIVE_TO_ASCII(*s++);
         if (UNI_IS_INVARIANT(uv))
             *d++ = (U8)UTF_TO_NATIVE(uv);
         else {
End of Patch.

Reply via email to