Re: replace strtok()

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: replace strtok()
Date: 2024-06-22 15:04:11
Message-ID: 7bb7219b-bd94-46c6-bf56-fee1e13cec0e@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 18.06.24 13:43, Ranier Vilela wrote:
> But I would like to see more const char * where this is possible.
>
> For example, in pg_locale.c
> IMO, the token variable can be const char *.
>
> At least strchr expects a const char * as the first parameter.

This would not be future-proof. In C23, if you pass a const char * into
strchr(), you also get a const char * as a result. And in this case, we
do write into the area pointed to by the result. So with a const char
*token, this whole thing would not compile cleanly under C23.

> I found another implementation of strsep, it seems lighter to me.
> I will attach it for consideration, however, I have not done any testing.

Yeah, surely there are many possible implementations. I'm thinking,
since we already took other str*() functions from OpenBSD, it makes
sense to do this here as well, so we have only one source to deal with.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2024-06-22 15:48:21 Re: replace strtok()
Previous Message Alexander Lakhin 2024-06-22 15:00:01 Re: [EXTERNAL] Re: Add non-blocking version of PQcancel