On Jul 10, 2025, at 16:38, Florents Tselai <florents.tselai@gmail.com> wrote: > Why isn’t this sufficient? > > static uint64 > pg_base64_encode_internal(const char *src, size_t len, char *dst, bool url) > { > const char *alphabet = url ? _base64url : _base64; Ah, it is. I hadn’t got that far. I was tripped up to see this in your patch: ```patch +static uint64 +pg_base64url_encode(const char *src, size_t len, char *dst) +{ + uint64 encoded_len; + if (len == 0) + return 0; + + encoded_len = pg_base64_encode(src, len, dst); + + /* Convert Base64 to Base64URL */ + for (uint64 i = 0; i < encoded_len; i++) { + if (dst[i] == '+') + dst[i] = '-'; + else if (dst[i] == '/') + dst[i] = '_'; + } + + /* Trim '=' padding */ + while (encoded_len > 0 && dst[encoded_len - 1] == '=') + encoded_len--; + + return encoded_len; +} ``` I didn’t realize it was a set of patches for stuff you did and then later undid. Could you flatten the patch into just what’s changed at the end?
pgsql-hackers by date:
Соглашаюсь с условиями обработки персональных данных