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

Re: [PATCH] builtin/clean.c: Fix some sparse warnings

From
Zoltan Klinger <zoltan.klinger@gmail.com>
Date
Dec 21, 2012, 12:31 UTC
Message-ID
<CAKJhZwSLSbR2pTB67-KLtrtuFsq6HtBGdHbN8h6tLiXBKynQzg@mail.gmail.com>
In-Reply-To
<50D35A13.9080605@ramsay1.demon.co.uk>

Thanks, Ramsay. I am rewriting the whole patch to do things a better way (as kindly suggested by Junio). So the print_filtered() function is going to disappear, but thanks for pointing out the problems with the existing code. Cheers, Zoltan

On 21 December 2012 05:33, Ramsay Jones <ramsay@ramsay1.demon.co.uk> wrote:
Show 59 quoted lines
>
> Sparse issues two "Using plain integer as NULL pointer" warnings
> (lines 41 and 47).
>
> The first warning relates to the initializer expression in the
> declaration for the 'char *dir' variable. In order to suppress
> the warning, we simply replace the zero initializer with NULL.
>
> The second warning relates to an expression, as part of an if
> conditional, using the equality operator to compare the 'dir'
> variable to zero. In order to suppress the warning, we replace
> the 'dir == 0' expression with the more idiomatic '!dir'.
>
> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
> ---
>
> Hi Zoltan,
>
> If you have already updated your patch and made this redundant
> (it's been a few days since I read the list or fetched git.git),
> please ignore this. Otherwise, could you please squash this into
> the new version of commit 16e4033e6 ("git-clean: Display more
> accurate delete messages", 17-12-2012).
>
> [BTW, in the same conditional expression you have an strncmp()
> call which doesn't quite follow the style/conventions of the
> existing code.]
>
> Thanks!
>
> ATB,
> Ramsay Jones
>
>  builtin/clean.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/builtin/clean.c b/builtin/clean.c
> index 1c25a75..0c603c8 100644
> --- a/builtin/clean.c
> +++ b/builtin/clean.c
> @@ -38,13 +38,13 @@ static void print_filtered(const char *msg, struct string_list *lst)
>  {
>         int i;
>         char *name;
> -       char *dir = 0;
> +       char *dir = NULL;
>
>         sort_string_list(lst);
>
>         for (i = 0; i < lst->nr; i++) {
>                 name = lst->items[i].string;
> -               if (dir == 0 || strncmp(name, dir, strlen(dir)) != 0)
> +               if (!dir || strncmp(name, dir, strlen(dir)) != 0)
>                         printf("%s %s\n", msg, name);
>                 if (name[strlen(name) - 1] == '/')
>                         dir = name;
> --
> 1.8.0
>
Previous: Ramsay Jones
Message 2 of 2 in “builtin/clean.c: Fix some sparse warnings”
  1. builtin/clean.c: Fix some sparse warningsRamsay Jones, Dec 20, 2012
  2. Zoltan KlingerDec 21, 2012

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.