I reviewed and tested this patch. Overall looks good to me. Actually, I think 
this patched fixed a bug of current implementation of base64 encoding by moving 
the logic of handling newline into “if (pos<0)”.

Just a few small comments:

> On Sep 19, 2025, at 03:19, Daniel Gustafsson <[email protected]> wrote:
> 
> <v9-0001-Add-support-for-base64url-encoding-and-decoding.patch>


1.
```
+ * Helper for decoding base64 or base64url.  When url is passed as true the
+ * input will be encoded using base64url.  len bytes in src is encoded into
+ * dst.
+ */
```

It’s not common to use two white-spaces after “.”, usually we need only one.

2.
```
+       /* handle remainder */
        if (pos != 2)
```

The comment is understandable, but slightly vague: remainder of what?

Maybe rephrase to “handle remaining bytes in buf”.

3.
```
                                        ereport(ERROR,
                                                        
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
-                                                        errmsg("unexpected 
\"=\" while decoding base64 sequence")));
+                                                        errmsg("unexpected 
\"=\" while decoding %s sequence", url ? "base64url" : "base64")));
```

This is a normal usage that injects sub-strings based on condition. However, PG 
doesn’t like that, see here: 
https://www.postgresql.org/docs/devel/nls-programmer.html#NLS-GUIDELINES 

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/




Reply via email to