nostrdb: bolt11: move utf8_check into local function.
It isn't actually in the CCAN module (though it probably should be!). So it breaks when we update. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
committed by
Daniel D’Aquino
parent
b326f007f2
commit
0ac25b7aa3
@@ -178,6 +178,24 @@ static void decode_p(struct bolt11 *b11,
|
||||
*have_p = true;
|
||||
}
|
||||
|
||||
/* Check for valid UTF-8 */
|
||||
static bool utf8_check(const void *vbuf, size_t buflen)
|
||||
{
|
||||
const u8 *buf = vbuf;
|
||||
struct utf8_state utf8_state = UTF8_STATE_INIT;
|
||||
bool need_more = false;
|
||||
|
||||
for (size_t i = 0; i < buflen; i++) {
|
||||
if (!utf8_decode(&utf8_state, buf[i])) {
|
||||
need_more = true;
|
||||
continue;
|
||||
}
|
||||
need_more = false;
|
||||
if (errno != 0)
|
||||
return false;
|
||||
}
|
||||
return !need_more;
|
||||
}
|
||||
|
||||
static char *utf8_str(const tal_t *ctx, const u8 *buf TAKES, size_t buflen)
|
||||
{
|
||||
|
||||
@@ -52,6 +52,4 @@ bool utf8_decode(struct utf8_state *utf8_state, char c);
|
||||
*/
|
||||
size_t utf8_encode(uint32_t point, char dest[UTF8_MAX_LEN]);
|
||||
|
||||
/* Check for valid UTF-8 */
|
||||
bool utf8_check(const void *vbuf, size_t buflen);
|
||||
#endif /* CCAN_UTF8_H */
|
||||
|
||||
@@ -28,6 +28,5 @@ static inline char *strdupn(const char *src, size_t size) {
|
||||
dest[size] = '\0';
|
||||
return dest;
|
||||
}
|
||||
|
||||
#endif // NDB_UTIL_H
|
||||
|
||||
|
||||
Reference in New Issue
Block a user