@@ -447,8 +447,7 @@ S_hv_fetch_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
447
447
448
448
xhv = (XPVHV * )SvANY (hv );
449
449
if (SvMAGICAL (hv )) {
450
- if (SvRMAGICAL (hv ) && !(action & (HV_FETCH_ISSTORE |HV_FETCH_ISEXISTS )))
451
- {
450
+ if (SvRMAGICAL (hv ) && !(action & (HV_FETCH_ISSTORE |HV_FETCH_ISEXISTS ))) {
452
451
if (mg_find ((SV * )hv , PERL_MAGIC_tied ) || SvGMAGICAL ((SV * )hv )) {
453
452
sv = sv_newmortal ();
454
453
@@ -553,7 +552,7 @@ S_hv_fetch_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
553
552
/* Will need to free this, so set FREEKEY flag. */
554
553
key = savepvn (key ,klen );
555
554
key = (const char * )strupr ((char * )key );
556
- is_utf8 = 0 ;
555
+ is_utf8 = FALSE ;
557
556
hash = 0 ;
558
557
keysv = 0 ;
559
558
@@ -596,7 +595,7 @@ S_hv_fetch_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
596
595
/* Will need to free this, so set FREEKEY flag. */
597
596
key = savepvn (key ,klen );
598
597
key = (const char * )strupr ((char * )key );
599
- is_utf8 = 0 ;
598
+ is_utf8 = FALSE ;
600
599
hash = 0 ;
601
600
keysv = 0 ;
602
601
@@ -696,7 +695,7 @@ S_hv_fetch_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
696
695
/* Need to swap the key we have for a key with the flags we
697
696
need. As keys are shared we can't just write to the
698
697
flag, so we share the new one, unshare the old one. */
699
- HEK * new_hek = share_hek_flags (key , klen , hash ,
698
+ HEK * const new_hek = share_hek_flags (key , klen , hash ,
700
699
masked_flags );
701
700
unshare_hek (HeKEY_hek (entry ));
702
701
HeKEY_hek (entry ) = new_hek ;
@@ -920,13 +919,14 @@ SV *
920
919
Perl_hv_delete (pTHX_ HV * hv , const char * key , I32 klen_i32 , I32 flags )
921
920
{
922
921
STRLEN klen ;
923
- int k_flags = 0 ;
922
+ int k_flags ;
924
923
925
924
if (klen_i32 < 0 ) {
926
925
klen = - klen_i32 ;
927
- k_flags | = HVhek_UTF8 ;
926
+ k_flags = HVhek_UTF8 ;
928
927
} else {
929
928
klen = klen_i32 ;
929
+ k_flags = 0 ;
930
930
}
931
931
return hv_delete_common (hv , NULL , key , klen , k_flags , flags , 0 );
932
932
}
@@ -958,7 +958,6 @@ S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
958
958
register HE * entry ;
959
959
register HE * * oentry ;
960
960
HE * const * first_entry ;
961
- SV * sv ;
962
961
bool is_utf8 ;
963
962
int masked_flags ;
964
963
@@ -981,6 +980,7 @@ S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
981
980
hv_magic_check (hv , & needs_copy , & needs_store );
982
981
983
982
if (needs_copy ) {
983
+ SV * sv ;
984
984
entry = hv_fetch_common (hv , keysv , key , klen ,
985
985
k_flags & ~HVhek_FREEKEY , HV_FETCH_LVALUE ,
986
986
Nullsv , hash );
@@ -1051,6 +1051,7 @@ S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
1051
1051
first_entry = oentry = & (HvARRAY (hv ))[hash & (I32 ) HvMAX (hv )];
1052
1052
entry = * oentry ;
1053
1053
for (; entry ; oentry = & HeNEXT (entry ), entry = * oentry ) {
1054
+ SV * sv ;
1054
1055
if (HeHASH (entry ) != hash ) /* strings can't be equal */
1055
1056
continue ;
1056
1057
if (HeKLEN (entry ) != (I32 )klen )
@@ -1067,13 +1068,12 @@ S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
1067
1068
}
1068
1069
1069
1070
/* if placeholder is here, it's already been deleted.... */
1070
- if (HeVAL (entry ) == & PL_sv_placeholder )
1071
- {
1072
- if (k_flags & HVhek_FREEKEY )
1073
- Safefree (key );
1074
- return Nullsv ;
1071
+ if (HeVAL (entry ) == & PL_sv_placeholder ) {
1072
+ if (k_flags & HVhek_FREEKEY )
1073
+ Safefree (key );
1074
+ return NULL ;
1075
1075
}
1076
- else if (SvREADONLY (hv ) && HeVAL (entry ) && SvREADONLY (HeVAL (entry ))) {
1076
+ if (SvREADONLY (hv ) && HeVAL (entry ) && SvREADONLY (HeVAL (entry ))) {
1077
1077
S_hv_notallowed (aTHX_ k_flags , key , klen ,
1078
1078
"Attempt to delete readonly key '%" SVf "' from"
1079
1079
" a restricted hash" );
@@ -1368,8 +1368,9 @@ Perl_hv_ksplit(pTHX_ HV *hv, IV newmax)
1368
1368
if (!* aep ) /* non-existent */
1369
1369
continue ;
1370
1370
for (oentry = aep , entry = * aep ; entry ; entry = * oentry ) {
1371
- register I32 j ;
1372
- if ((j = (HeHASH (entry ) & newsize )) != i ) {
1371
+ register I32 j = (HeHASH (entry ) & newsize );
1372
+
1373
+ if (j != i ) {
1373
1374
j -= i ;
1374
1375
* oentry = HeNEXT (entry );
1375
1376
if (!(HeNEXT (entry ) = aep [j ]))
@@ -1433,7 +1434,7 @@ Perl_newHVhv(pTHX_ HV *ohv)
1433
1434
1434
1435
/* In each bucket... */
1435
1436
for (i = 0 ; i <= hv_max ; i ++ ) {
1436
- HE * prev = NULL , * ent = NULL ;
1437
+ HE * prev = NULL ;
1437
1438
HE * oent = oents [i ];
1438
1439
1439
1440
if (!oent ) {
@@ -1447,8 +1448,8 @@ Perl_newHVhv(pTHX_ HV *ohv)
1447
1448
const char * const key = HeKEY (oent );
1448
1449
const STRLEN len = HeKLEN (oent );
1449
1450
const int flags = HeKFLAGS (oent );
1451
+ HE * const ent = new_HE ();
1450
1452
1451
- ent = new_HE ();
1452
1453
HeVAL (ent ) = newSVsv (HeVAL (oent ));
1453
1454
HeKEY_hek (ent )
1454
1455
= shared ? share_hek_flags (key , len , hash , flags )
@@ -1557,7 +1558,7 @@ Perl_hv_clear(pTHX_ HV *hv)
1557
1558
/* not already placeholder */
1558
1559
if (HeVAL (entry ) != & PL_sv_placeholder ) {
1559
1560
if (HeVAL (entry ) && SvREADONLY (HeVAL (entry ))) {
1560
- SV * keysv = hv_iterkeysv (entry );
1561
+ SV * const keysv = hv_iterkeysv (entry );
1561
1562
Perl_croak (aTHX_
1562
1563
"Attempt to delete readonly key '%" SVf "' from a restricted hash" ,
1563
1564
keysv );
@@ -1615,7 +1616,7 @@ Perl_hv_clear_placeholders(pTHX_ HV *hv)
1615
1616
i = HvMAX (hv );
1616
1617
do {
1617
1618
/* Loop down the linked list heads */
1618
- bool first = 1 ;
1619
+ bool first = TRUE ;
1619
1620
HE * * oentry = & (HvARRAY (hv ))[i ];
1620
1621
HE * entry ;
1621
1622
@@ -1639,7 +1640,7 @@ Perl_hv_clear_placeholders(pTHX_ HV *hv)
1639
1640
}
1640
1641
} else {
1641
1642
oentry = & HeNEXT (entry );
1642
- first = 0 ;
1643
+ first = FALSE ;
1643
1644
}
1644
1645
}
1645
1646
} while (-- i >= 0 );
@@ -1680,7 +1681,7 @@ S_hfreeentries(pTHX_ HV *hv)
1680
1681
/* This is the one we're going to try to empty. First time round
1681
1682
it's the original array. (Hopefully there will only be 1 time
1682
1683
round) */
1683
- HE * * array = HvARRAY (hv );
1684
+ HE * * const array = HvARRAY (hv );
1684
1685
I32 i = HvMAX (hv );
1685
1686
1686
1687
/* Because we have taken xhv_name out, the only allocated pointer
@@ -1770,7 +1771,7 @@ S_hfreeentries(pTHX_ HV *hv)
1770
1771
if (-- attempts == 0 ) {
1771
1772
Perl_die (aTHX_ "panic: hfreeentries failed to free hash - something is repeatedly re-creating entries" );
1772
1773
}
1773
- };
1774
+ }
1774
1775
1775
1776
HvARRAY (hv ) = orig_array ;
1776
1777
@@ -1866,7 +1867,7 @@ Perl_hv_iterinit(pTHX_ HV *hv)
1866
1867
Perl_croak (aTHX_ "Bad hash" );
1867
1868
1868
1869
if (SvOOK (hv )) {
1869
- struct xpvhv_aux * iter = HvAUX (hv );
1870
+ struct xpvhv_aux * const iter = HvAUX (hv );
1870
1871
HE * const entry = iter -> xhv_eiter ; /* HvEITER(hv) */
1871
1872
if (entry && HvLAZYDEL (hv )) { /* was deleted earlier? */
1872
1873
HvLAZYDEL_off (hv );
@@ -1875,7 +1876,7 @@ Perl_hv_iterinit(pTHX_ HV *hv)
1875
1876
iter -> xhv_riter = -1 ; /* HvRITER(hv) = -1 */
1876
1877
iter -> xhv_eiter = Null (HE * ); /* HvEITER(hv) = Null(HE*) */
1877
1878
} else {
1878
- S_hv_auxinit ( aTHX_ hv );
1879
+ hv_auxinit ( hv );
1879
1880
}
1880
1881
1881
1882
/* used to be xhv->xhv_fill before 5.004_65 */
@@ -1889,7 +1890,7 @@ Perl_hv_riter_p(pTHX_ HV *hv) {
1889
1890
if (!hv )
1890
1891
Perl_croak (aTHX_ "Bad hash" );
1891
1892
1892
- iter = SvOOK (hv ) ? HvAUX (hv ) : S_hv_auxinit ( aTHX_ hv );
1893
+ iter = SvOOK (hv ) ? HvAUX (hv ) : hv_auxinit ( hv );
1893
1894
return & (iter -> xhv_riter );
1894
1895
}
1895
1896
@@ -1900,7 +1901,7 @@ Perl_hv_eiter_p(pTHX_ HV *hv) {
1900
1901
if (!hv )
1901
1902
Perl_croak (aTHX_ "Bad hash" );
1902
1903
1903
- iter = SvOOK (hv ) ? HvAUX (hv ) : S_hv_auxinit ( aTHX_ hv );
1904
+ iter = SvOOK (hv ) ? HvAUX (hv ) : hv_auxinit ( hv );
1904
1905
return & (iter -> xhv_eiter );
1905
1906
}
1906
1907
@@ -1917,7 +1918,7 @@ Perl_hv_riter_set(pTHX_ HV *hv, I32 riter) {
1917
1918
if (riter == -1 )
1918
1919
return ;
1919
1920
1920
- iter = S_hv_auxinit ( aTHX_ hv );
1921
+ iter = hv_auxinit ( hv );
1921
1922
}
1922
1923
iter -> xhv_riter = riter ;
1923
1924
}
@@ -1937,7 +1938,7 @@ Perl_hv_eiter_set(pTHX_ HV *hv, HE *eiter) {
1937
1938
if (!eiter )
1938
1939
return ;
1939
1940
1940
- iter = S_hv_auxinit ( aTHX_ hv );
1941
+ iter = hv_auxinit ( hv );
1941
1942
}
1942
1943
iter -> xhv_eiter = eiter ;
1943
1944
}
@@ -1960,17 +1961,15 @@ Perl_hv_name_set(pTHX_ HV *hv, const char *name, I32 len, int flags)
1960
1961
if (name == 0 )
1961
1962
return ;
1962
1963
1963
- iter = S_hv_auxinit ( aTHX_ hv );
1964
+ iter = hv_auxinit ( hv );
1964
1965
}
1965
1966
PERL_HASH (hash , name , len );
1966
1967
iter -> xhv_name = name ? share_hek (name , len , hash ) : 0 ;
1967
1968
}
1968
1969
1969
1970
AV * *
1970
1971
Perl_hv_backreferences_p (pTHX_ HV * hv ) {
1971
- struct xpvhv_aux * iter ;
1972
-
1973
- iter = SvOOK (hv ) ? HvAUX (hv ) : S_hv_auxinit (aTHX_ hv );
1972
+ struct xpvhv_aux * const iter = SvOOK (hv ) ? HvAUX (hv ) : hv_auxinit (hv );
1974
1973
return & (iter -> xhv_backreferences );
1975
1974
}
1976
1975
0 commit comments