Michael Haggerty <mhag...@alum.mit.edu> writes:

>       while (*path) {
> -             const char *slash;
>               struct cache_tree_sub *sub;
> +             const char *slash = strchr(path, '/');
>  
> -             slash = strchr(path, '/');
>               if (!slash)
>                       slash = path + strlen(path);

Isn't the above a strchrnul()?

Combining a freestanding decl with intializer assignment to lose one
line is sort of cheating on the line count, but replacing the three
lines with a single strchrnul() would be a real code reduction ;-)

> -             /* between path and slash is the name of the
> -              * subtree to look for.
> +             /*
> +              * Between path and slash is the name of the subtree
> +              * to look for.
>                */
>               sub = find_subtree(it, path, slash - path, 0);
>               if (!sub)
>                       return NULL;
>               it = sub->cache_tree;
> -             if (slash)
> -                     while (*slash && *slash == '/')
> -                             slash++;
> -             if (!slash || !*slash)
> -                     return it; /* prefix ended with slashes */
>               path = slash;
> +             while (*path == '/')
> +                     path++;
>       }
>       return it;
>  }
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to