# [PATCH] quote: use isalnum() to check for alphanumeric characters

2 messages from 2020-02-22 to 2020-02-23. Participants: René Scharfe, Martin Ågren.
Thread: https://gitlist.dev/t/52867

## René Scharfe, 2020-02-22 18:51

Subject: [PATCH] quote: use isalnum() to check for alphanumeric characters
Message-ID: <0157c714-2d9b-7896-f5dc-232d82a46625@web.de>
URL: https://gitlist.dev/e/0157c714-2d9b-7896-f5dc-232d82a46625%40web.de

```
isalnum(c) is equivalent to isalpha(c) || isdigit(c), so use the
former instead.  The result is shorter, simpler and slightly more
efficient.

Signed-off-by: René Scharfe <l.s.r@web.de>
---
 quote.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/quote.c b/quote.c
index 24a58ba454..bcc0dbc50d 100644
--- a/quote.c
+++ b/quote.c
@@ -55,7 +55,7 @@ void sq_quote_buf_pretty(struct strbuf *dst, const char *src)
 	}

 	for (p = src; *p; p++) {
-		if (!isalpha(*p) && !isdigit(*p) && !strchr(ok_punct, *p)) {
+		if (!isalnum(*p) && !strchr(ok_punct, *p)) {
 			sq_quote_buf(dst, src);
 			return;
 		}
--
2.25.1

```

## Martin Ågren, 2020-02-23 09:13

Subject: Re: [PATCH] quote: use isalnum() to check for alphanumeric characters
Message-ID: <CAN0heSr+S6FTVrjfa9ZQipyKjv611-DCLZpQPjJUm+T4sMM47w@mail.gmail.com>
URL: https://gitlist.dev/e/CAN0heSr%2BS6FTVrjfa9ZQipyKjv611-DCLZpQPjJUm%2BT4sMM47w%40mail.gmail.com
In-Reply-To: <0157c714-2d9b-7896-f5dc-232d82a46625@web.de>

```
On Sat, 22 Feb 2020 at 19:53, René Scharfe <l.s.r@web.de> wrote:
>
> isalnum(c) is equivalent to isalpha(c) || isdigit(c), so use the
> former instead.  The result is shorter, simpler and slightly more
> efficient.

From git-compat-util.h I can see that the claim about equivalence is
correct. And the efficiency claim, too. And agreed on "shorter and
simpler".

> --- a/quote.c
> +++ b/quote.c
> @@ -55,7 +55,7 @@ void sq_quote_buf_pretty(struct strbuf *dst, const char *src)
>         }
>
>         for (p = src; *p; p++) {
> -               if (!isalpha(*p) && !isdigit(*p) && !strchr(ok_punct, *p)) {
> +               if (!isalnum(*p) && !strchr(ok_punct, *p)) {

I failed to identify any similar constructs. Looks good to me.

Martin

```
