Try not to use negative values when accessing arrays in C. Yet another
[p5sagit/p5-mst-13.2.git] / proto.h
diff --git a/proto.h b/proto.h
index 5bbd521..96c664c 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -657,6 +657,9 @@ PERL_CALLCONV HV*   Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 crea
 
 PERL_CALLCONV HV*      Perl_gv_stashsv(pTHX_ SV* sv, I32 create);
 PERL_CALLCONV void     Perl_hv_clear(pTHX_ HV* tb);
+PERL_CALLCONV HV *     Perl_hv_copy_hints_hv(pTHX_ HV *const ohv)
+                       __attribute__nonnull__(pTHX_1);
+
 PERL_CALLCONV void     Perl_hv_delayfree_ent(pTHX_ HV* hv, HE* entry)
                        __attribute__nonnull__(pTHX_1);
 
@@ -721,13 +724,14 @@ PERL_CALLCONV void        Perl_hv_ksplit(pTHX_ HV* hv, IV newmax)
                        __attribute__nonnull__(pTHX_1); */
 
 #ifdef USE_ITHREADS
+PERL_CALLCONV struct refcounted_he *   Perl_refcounted_he_copy(pTHX_ const struct refcounted_he *he);
 PERL_CALLCONV struct refcounted_he *   Perl_refcounted_he_dup(pTHX_ const struct refcounted_he *const he, CLONE_PARAMS* param)
                        __attribute__nonnull__(pTHX_2);
 
 #endif
 PERL_CALLCONV HV *     Perl_refcounted_he_chain_2hv(pTHX_ const struct refcounted_he *c);
 PERL_CALLCONV void     Perl_refcounted_he_free(pTHX_ struct refcounted_he *he);
-PERL_CALLCONV struct refcounted_he *   Perl_refcounted_he_new(pTHX_ struct refcounted_he *parent, SV *key, SV *value);
+PERL_CALLCONV struct refcounted_he *   Perl_refcounted_he_new(pTHX_ struct refcounted_he *const parent, SV *const key, SV *const value);
 PERL_CALLCONV SV**     Perl_hv_store(pTHX_ HV* tb, const char* key, I32 klen, SV* val, U32 hash);
 PERL_CALLCONV HE*      Perl_hv_store_ent(pTHX_ HV* tb, SV* key, SV* val, U32 hash);
 PERL_CALLCONV SV**     Perl_hv_store_flags(pTHX_ HV* tb, const char* key, I32 klen, SV* val, U32 hash, int flags);
@@ -3544,10 +3548,11 @@ STATIC char*    S_nextchar(pTHX_ struct RExC_state_t *state)
                        __attribute__nonnull__(pTHX_1);
 
 #  ifdef DEBUGGING
-STATIC regnode*        S_dumpuntil(pTHX_ regnode *start, regnode *node, regnode *last, SV* sv, I32 l)
+STATIC regnode*        S_dumpuntil(pTHX_ regexp *r, regnode *start, regnode *node, regnode *last, SV* sv, I32 l)
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2)
-                       __attribute__nonnull__(pTHX_4);
+                       __attribute__nonnull__(pTHX_3)
+                       __attribute__nonnull__(pTHX_5);
 
 STATIC void    S_put_byte(pTHX_ SV* sv, int c)
                        __attribute__nonnull__(pTHX_1);
@@ -3615,9 +3620,10 @@ STATIC I32       S_make_trie(pTHX_ struct RExC_state_t* state, regnode *startbranch, r
 #endif
 
 #if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
-STATIC I32     S_regmatch(pTHX_ regnode *prog)
+STATIC I32     S_regmatch(pTHX_ regexp *rex, regnode *prog)
                        __attribute__warn_unused_result__
-                       __attribute__nonnull__(pTHX_1);
+                       __attribute__nonnull__(pTHX_1)
+                       __attribute__nonnull__(pTHX_2);
 
 STATIC I32     S_regrepeat(pTHX_ const regnode *p, I32 max)
                        __attribute__warn_unused_result__
@@ -3634,8 +3640,7 @@ STATIC bool       S_reginclass(pTHX_ const regnode *n, const U8 *p, STRLEN *lenp, bool
                        __attribute__nonnull__(pTHX_2);
 
 STATIC CHECKPOINT      S_regcppush(pTHX_ I32 parenfloor);
-STATIC char*   S_regcppop(pTHX);
-STATIC void    S_cache_re(pTHX_ regexp *prog)
+STATIC char*   S_regcppop(pTHX_ regexp *rex)
                        __attribute__nonnull__(pTHX_1);
 
 STATIC U8*     S_reghop3(U8 *pos, I32 off, U8 *lim)
@@ -3733,7 +3738,7 @@ STATIC STRLEN     S_sv_pos_u2b_forwards(pTHX_ const U8 *const start, const U8 *const
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2);
 
-STATIC STRLEN  S_sv_pos_u2b_midway(pTHX_ const U8 *const start, const U8 *const send, STRLEN uoffset, STRLEN uend)
+STATIC STRLEN  S_sv_pos_u2b_midway(pTHX_ const U8 *const start, const U8 *send, STRLEN uoffset, STRLEN uend)
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2);