net/nanocoap: add query option directly
This commit is contained in:
parent
2e0a5c053e
commit
c55837d809
@ -860,10 +860,11 @@ ssize_t coap_opt_add_uquery2(coap_pkt_t *pkt, const char *key, size_t key_len,
|
|||||||
assert(!val_len || (val && val_len));
|
assert(!val_len || (val && val_len));
|
||||||
|
|
||||||
char qs[NANOCOAP_QS_MAX];
|
char qs[NANOCOAP_QS_MAX];
|
||||||
|
/* length including '=' */
|
||||||
size_t qs_len = key_len + ((val && val_len) ? (val_len + 1) : 0);
|
size_t qs_len = key_len + ((val && val_len) ? (val_len + 1) : 0);
|
||||||
|
|
||||||
/* test if the query string fits */
|
/* test if the query string fits */
|
||||||
if (qs_len >= NANOCOAP_QS_MAX) {
|
if (qs_len > NANOCOAP_QS_MAX) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -872,9 +873,8 @@ ssize_t coap_opt_add_uquery2(coap_pkt_t *pkt, const char *key, size_t key_len,
|
|||||||
qs[key_len] = '=';
|
qs[key_len] = '=';
|
||||||
memcpy(&qs[key_len + 1], val, val_len);
|
memcpy(&qs[key_len + 1], val, val_len);
|
||||||
}
|
}
|
||||||
qs[qs_len] = '\0';
|
|
||||||
|
|
||||||
return coap_opt_add_string(pkt, COAP_OPT_URI_QUERY, qs, '&');
|
return _add_opt_pkt(pkt, COAP_OPT_URI_QUERY, (uint8_t *)qs, qs_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t coap_opt_add_opaque(coap_pkt_t *pkt, uint16_t optnum, const uint8_t *val, size_t val_len)
|
ssize_t coap_opt_add_opaque(coap_pkt_t *pkt, uint16_t optnum, const uint8_t *val, size_t val_len)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user