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.