git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] compat/regex/regexec.c: Fix some sparse warnings

From
Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Date
May 17, 2011, 17:40 UTC
Message-ID
<4DD2B304.90305@ramsay1.demon.co.uk>
In particular, sparse issues the following warnings:
        SP compat/regex/regex.c
    .../regexec.c:2329:40: warning: Using plain integer as NULL pointer
    .../regexec.c:2316:15: warning: symbol 'merge_state_with_log' was \
        not declared. Should it be static?
    .../regexec.c:2395:15: warning: symbol 'find_recover_state' was not \
        declared. Should it be static?

In order to fix the "symbol not declared" warnings (they are in fact declared static earlier in the file), we simply add the static modifier to the function definitions.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
---
Hi Junio,

Now that I'm building git with NO_REGEX=1 in my config.mak, I'm also seeing these sparse warnings.

Note that the "symbol not declared" warnings actually highlight a sparse bug; the earlier static function declarations should have (effectively) 'transferred' the static modifier to the corresponding function definition ... [I have a testcase for this in my sparse repo, but I don't seem to have found time to actually create a patch to fix this. :(]

ATB,
Ramsay Jones
 
 compat/regex/regexec.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/compat/regex/regexec.c b/compat/regex/regexec.c
index 0194965..0cd6e0e 100644
--- a/compat/regex/regexec.c
+++ b/compat/regex/regexec.c
@@ -2313,7 +2313,7 @@ transit_state (reg_errcode_t *err, re_match_context_t *mctx,
 }
 
 /* Update the state_log if we need */
-re_dfastate_t *
+static re_dfastate_t *
 internal_function
 merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
 		      re_dfastate_t *next_state)
@@ -2326,7 +2326,7 @@ merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
       mctx->state_log[cur_idx] = next_state;
       mctx->state_log_top = cur_idx;
     }
-  else if (mctx->state_log[cur_idx] == 0)
+  else if (mctx->state_log[cur_idx] == NULL)
     {
       mctx->state_log[cur_idx] = next_state;
     }
@@ -2392,7 +2392,7 @@ merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
 /* Skip bytes in the input that correspond to part of a
    multi-byte match, then look in the log for a state
    from which to restart matching.  */
-re_dfastate_t *
+static re_dfastate_t *
 internal_function
 find_recover_state (reg_errcode_t *err, re_match_context_t *mctx)
 {
-- 
1.7.5
Next: Ævar Arnfjörð Bjarmason
Message 1 of 3 in “compat/regex/regexec.c: Fix some sparse warnings”
  1. compat/regex/regexec.c: Fix some sparse warningsRamsay Jones, May 17, 2011
  2. Ævar Arnfjörð BjarmasonMay 17, 2011
  3. Junio C HamanoMay 18, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.