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;
|
*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)
|
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]);
|
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 */
|
#endif /* CCAN_UTF8_H */
|
||||||
|
|||||||
@@ -28,6 +28,5 @@ static inline char *strdupn(const char *src, size_t size) {
|
|||||||
dest[size] = '\0';
|
dest[size] = '\0';
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // NDB_UTIL_H
|
#endif // NDB_UTIL_H
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user