mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-03 10:46:58 +01:00
json: add a helper to split a json token given a specific character
credits @rustyrussell
This commit is contained in:
parent
db22d2ba9a
commit
ca4b07c529
2 changed files with 22 additions and 0 deletions
|
@ -75,3 +75,19 @@ bool json_to_txid(const char *buffer, const jsmntok_t *tok,
|
|||
return bitcoin_txid_from_hex(buffer + tok->start,
|
||||
tok->end - tok->start, txid);
|
||||
}
|
||||
|
||||
bool split_tok(const char *buffer, const jsmntok_t *tok,
|
||||
char split,
|
||||
jsmntok_t *a,
|
||||
jsmntok_t *b)
|
||||
{
|
||||
const char *p = memchr(buffer + tok->start, split, tok->end - tok->start);
|
||||
if (!p)
|
||||
return false;
|
||||
|
||||
*a = *b = *tok;
|
||||
a->end = p - buffer;
|
||||
b->start = p + 1 - buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -39,4 +39,10 @@ bool json_to_msat(const char *buffer, const jsmntok_t *tok,
|
|||
/* Extract a bitcoin txid from this */
|
||||
bool json_to_txid(const char *buffer, const jsmntok_t *tok,
|
||||
struct bitcoin_txid *txid);
|
||||
|
||||
/* Split a json token into 2 tokens given a splitting character */
|
||||
bool split_tok(const char *buffer, const jsmntok_t *tok,
|
||||
char split,
|
||||
jsmntok_t *a,
|
||||
jsmntok_t *b);
|
||||
#endif /* LIGHTNING_COMMON_JSON_HELPERS_H */
|
||||
|
|
Loading…
Add table
Reference in a new issue