Jim Meyering <[EMAIL PROTECTED]> writes: > A week or so ago, I stumbled across one interface that was missing a > `const' attribute on a parameter, then dug up a few more. Paul, let me > know when you reach a point at which my checking this in won't interfere.
It's easier for me if I just get it off the plate and install it now. I installed this into gnulib and filed glibc bug 1282. Thanks. I wish missing-const-detection could be done automatically. I suppose we could add const to all the pointers, and then remove each const that causes a diagnostic, but that sounds pretty painful.... 2005-08-31 Jim Meyering <[EMAIL PROTECTED]> * lib/regcomp.c (search_duplicated_node): Make first pointer arg a pointer-to-const. * lib/regex_internal.c (create_ci_newstate, create_cd_newstate): (register_state): Likewise. * lib/regexec.c (search_cur_bkref_entry, check_dst_limits): (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos): (group_nodes_into_DFAstates): Likewise. * config/srclist.txt: Add glibc bug 1282. --- lib/regcomp.c 31 Aug 2005 22:51:10 -0000 1.13 +++ lib/regcomp.c 31 Aug 2005 23:25:36 -0000 @@ -46,7 +46,7 @@ static reg_errcode_t calc_first (void *e static reg_errcode_t calc_next (void *extra, bin_tree_t *node); static reg_errcode_t link_nfa_nodes (void *extra, bin_tree_t *node); static Idx duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint); -static Idx search_duplicated_node (re_dfa_t *dfa, Idx org_node, +static Idx search_duplicated_node (const re_dfa_t *dfa, Idx org_node, unsigned int constraint); static reg_errcode_t calc_eclosure (re_dfa_t *dfa); static reg_errcode_t calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, @@ -1506,7 +1506,7 @@ duplicate_node_closure (re_dfa_t *dfa, I satisfies the constraint CONSTRAINT. */ static Idx -search_duplicated_node (re_dfa_t *dfa, Idx org_node, +search_duplicated_node (const re_dfa_t *dfa, Idx org_node, unsigned int constraint) { Idx idx; --- lib/regex_internal.c 31 Aug 2005 22:51:10 -0000 1.10 +++ lib/regex_internal.c 31 Aug 2005 23:25:36 -0000 @@ -21,10 +21,10 @@ static void re_string_construct_common ( re_string_t *pstr, REG_TRANSLATE_TYPE trans, int icase, const re_dfa_t *dfa) internal_function; -static re_dfastate_t *create_ci_newstate (re_dfa_t *dfa, +static re_dfastate_t *create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes, re_hashval_t hash) internal_function; -static re_dfastate_t *create_cd_newstate (re_dfa_t *dfa, +static re_dfastate_t *create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context, re_hashval_t hash) internal_function; @@ -1465,7 +1465,7 @@ re_acquire_state_context (reg_errcode_t static reg_errcode_t internal_function -register_state (re_dfa_t *dfa, re_dfastate_t *newstate, re_hashval_t hash) +register_state (const re_dfa_t *dfa, re_dfastate_t *newstate, re_hashval_t hash) { struct re_state_table_entry *spot; reg_errcode_t err; @@ -1502,7 +1502,8 @@ register_state (re_dfa_t *dfa, re_dfasta static re_dfastate_t * internal_function -create_ci_newstate (re_dfa_t *dfa, const re_node_set *nodes, re_hashval_t hash) +create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes, + re_hashval_t hash) { Idx i; reg_errcode_t err; @@ -1551,7 +1552,7 @@ create_ci_newstate (re_dfa_t *dfa, const static re_dfastate_t * internal_function -create_cd_newstate (re_dfa_t *dfa, const re_node_set *nodes, +create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context, re_hashval_t hash) { Idx i, nctx_nodes = 0; --- lib/regexec.c 31 Aug 2005 22:51:10 -0000 1.13 +++ lib/regexec.c 31 Aug 2005 23:25:36 -0000 @@ -24,7 +24,7 @@ static void match_ctx_free (re_match_con static reg_errcode_t match_ctx_add_entry (re_match_context_t *cache, Idx node, Idx str_idx, Idx from, Idx to) internal_function; -static Idx search_cur_bkref_entry (re_match_context_t *mctx, Idx str_idx) +static Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx) internal_function; static reg_errcode_t match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx) internal_function; @@ -91,13 +91,14 @@ static reg_errcode_t update_cur_sifted_s static reg_errcode_t add_epsilon_src_nodes (re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates) internal_function; -static int check_dst_limits (re_match_context_t *mctx, re_node_set *limits, +static int check_dst_limits (const re_match_context_t *mctx, + const re_node_set *limits, Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx) internal_function; -static int check_dst_limits_calc_pos_1 (re_match_context_t *mctx, +static int check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries, Idx subexp_idx, Idx from_node, Idx bkref_idx) internal_function; -static int check_dst_limits_calc_pos (re_match_context_t *mctx, +static int check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit, Idx subexp_idx, Idx node, Idx str_idx, Idx bkref_idx) internal_function; @@ -170,7 +171,7 @@ static unsigned int find_collation_seque size_t name_len) internal_function; # endif /* _LIBC */ #endif /* RE_ENABLE_I18N */ -static Idx group_nodes_into_DFAstates (re_dfa_t *dfa, +static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, re_node_set *states_node, bitset *states_ch) internal_function; @@ -1855,7 +1856,7 @@ sub_epsilon_src_nodes (re_dfa_t *dfa, Id static int internal_function -check_dst_limits (re_match_context_t *mctx, re_node_set *limits, +check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits, Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx) { re_dfa_t *const dfa = mctx->dfa; @@ -1891,7 +1892,7 @@ check_dst_limits (re_match_context_t *mc static int internal_function -check_dst_limits_calc_pos_1 (re_match_context_t *mctx, int boundaries, +check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries, Idx subexp_idx, Idx from_node, Idx bkref_idx) { re_dfa_t *const dfa = mctx->dfa; @@ -1973,7 +1974,8 @@ check_dst_limits_calc_pos_1 (re_match_co static int internal_function -check_dst_limits_calc_pos (re_match_context_t *mctx, Idx limit, Idx subexp_idx, +check_dst_limits_calc_pos (const re_match_context_t *mctx, + Idx limit, Idx subexp_idx, Idx from_node, Idx str_idx, Idx bkref_idx) { struct re_backref_cache_entry *lim = mctx->bkref_ents + limit; @@ -3484,7 +3486,7 @@ out_free: static Idx internal_function -group_nodes_into_DFAstates (re_dfa_t *dfa, const re_dfastate_t *state, +group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, re_node_set *dests_node, bitset *dests_ch) { reg_errcode_t err; @@ -4203,7 +4205,7 @@ match_ctx_add_entry (re_match_context_t static Idx internal_function -search_cur_bkref_entry (re_match_context_t *mctx, Idx str_idx) +search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx) { Idx left, right, mid, last; last = right = mctx->nbkref_ents; --- config/srclist.txt 31 Aug 2005 22:51:09 -0000 1.93 +++ config/srclist.txt 31 Aug 2005 23:35:21 -0000 @@ -106,6 +106,7 @@ $LIBCSRC/stdlib/getsubopt.c lib gpl # http://sources.redhat.com/bugzilla/show_bug.cgi?id=1278 # http://sources.redhat.com/bugzilla/show_bug.cgi?id=1280 # http://sources.redhat.com/bugzilla/show_bug.cgi?id=1281 +# http://sources.redhat.com/bugzilla/show_bug.cgi?id=1282 #$LIBCSRC/posix/regcomp.c lib gpl # # http://sources.redhat.com/bugzilla/show_bug.cgi?id=1238 @@ -130,6 +131,7 @@ $LIBCSRC/stdlib/getsubopt.c lib gpl # http://sources.redhat.com/bugzilla/show_bug.cgi?id=1241 # http://sources.redhat.com/bugzilla/show_bug.cgi?id=1248 # http://sources.redhat.com/bugzilla/show_bug.cgi?id=1281 +# http://sources.redhat.com/bugzilla/show_bug.cgi?id=1282 #$LIBCSRC/posix/regex_internal.c lib gpl # # http://sources.redhat.com/bugzilla/show_bug.cgi?id=1054 @@ -155,6 +157,7 @@ $LIBCSRC/stdlib/getsubopt.c lib gpl # http://sources.redhat.com/bugzilla/show_bug.cgi?id=1279 # http://sources.redhat.com/bugzilla/show_bug.cgi?id=1280 # http://sources.redhat.com/bugzilla/show_bug.cgi?id=1281 +# http://sources.redhat.com/bugzilla/show_bug.cgi?id=1282 #$LIBCSRC/posix/regexec.c lib gpl # # c89 changes $LIBCSRC/string/strdup.c lib gpl _______________________________________________ bug-gnulib mailing list bug-gnulib@gnu.org http://lists.gnu.org/mailman/listinfo/bug-gnulib