MCPcopy Create free account
hub / github.com/ElementsProject/lightning / rune_altern_encode

Function rune_altern_encode

ccan/ccan/rune/coding.c:81–103  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

79}
80
81static void rune_altern_encode(const struct rune_altern *altern,
82 void (*cb)(const char *s, size_t len,
83 void *arg),
84 void *arg)
85{
86 char cond = altern->condition;
87 const char *p;
88
89 cb(altern->fieldname, strlen(altern->fieldname), arg);
90 cb(&cond, 1, arg);
91
92 p = altern->value;
93 for (;;) {
94 char esc[2] = { '\\' };
95 size_t len = strcspn(p, "\\|&");
96 cb(p, len, arg);
97 if (!p[len])
98 break;
99 esc[1] = p[len];
100 cb(esc, 2, arg);
101 p += len + 1;
102 }
103}
104
105static void rune_restr_encode(const struct rune_restr *restr,
106 void (*cb)(const char *s, size_t len,

Callers 1

rune_restr_encodeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected