INNER CODE UNIT · C
buf_attr_str
Cateners/tiny_container · app/src/main/cpp/tiny_ipp_jni.c:229
static void buf_attr_str(buf_t *b, uint8_t vtag, const char *name, const char *val) {
uint16_t nlen = (uint16_t)strlen(name);
uint16_t vlen = (uint16_t)strlen(val);
buf_write(b, &vtag, 1);
buf_u16be(b, nlen);
buf_write(b, name, nlen);
buf_u16be(b, vlen);
buf_write(b, val, vlen);
}
/* Multi-valued (1setOf) strings: subsequent values use zero name-length. */
static void buf_attr_strs(buf_t *b, uint8_t vtag, const char *name,
const char *const *vals, int count) {
for (int i = 0; i < count; i++) {
buf_write(b, &vtag, 1);
if (i == 0) {
buf_u16be(b, (uint16_t)strlen(name));
buf_write(b, name, strlen(name));