Re: [PATCH v3 1/6] version: replace manual ASCII checks with isprint() for clarity
Usman Akinyemi <usmanakinyemi202@gmail.com> writes:
Show 10 quoted lines
> Since the isprint() function checks for printable characters, let's
> replace the existing hardcoded ASCII checks with it. However, since
> the original checks also handled spaces, we need to account for spaces
> explicitly in the new check.
>
> Mentored-by: Christian Couder <chriscool@tuxfamily.org>
> Signed-off-by: Usman Akinyemi <usmanakinyemi202@gmail.com>
> ---
> version.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
Thanks. Nicely done as a separate step.
Show 21 quoted lines
> diff --git a/version.c b/version.c
> index 4d763ab48d..6cfbb8ca56 100644
> --- a/version.c
> +++ b/version.c
> @@ -2,6 +2,7 @@
> #include "version.h"
> #include "version-def.h"
> #include "strbuf.h"
> +#include "sane-ctype.h"
>
> const char git_version_string[] = GIT_VERSION;
> const char git_built_from_commit_string[] = GIT_BUILT_FROM_COMMIT;
> @@ -29,7 +30,7 @@ const char *git_user_agent_sanitized(void)
> strbuf_addstr(&buf, git_user_agent());
> strbuf_trim(&buf);
> for (size_t i = 0; i < buf.len; i++) {
> - if (buf.buf[i] <= 32 || buf.buf[i] >= 127)
> + if (!isprint(buf.buf[i]) || buf.buf[i] == ' ')
> buf.buf[i] = '.';
> }
> agent = buf.buf;