diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2026-02-21 09:54:38 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2026-02-21 09:54:38 +0000 |
| commit | 6a9f70ae5e126e6685b05670ff2bda026a56cfe5 (patch) | |
| tree | 83afdbb4a68e07a2ea69c602ca99aeb1c67cb121 /src/libunixonacid/sassclient_sendv.c | |
| parent | 5fec93446e61b2f2c9b68ba50cdad3f83c914cbd (diff) | |
| download | skalibs-6a9f70ae5e126e6685b05670ff2bda026a56cfe5.tar.gz | |
Add flags management to sass, refactor some things
Diffstat (limited to 'src/libunixonacid/sassclient_sendv.c')
| -rw-r--r-- | src/libunixonacid/sassclient_sendv.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/libunixonacid/sassclient_sendv.c b/src/libunixonacid/sassclient_sendv.c index ef38679..209462b 100644 --- a/src/libunixonacid/sassclient_sendv.c +++ b/src/libunixonacid/sassclient_sendv.c @@ -15,14 +15,14 @@ #include <skalibs/sassclient.h> #include "sassclient-internal.h" -int sassclient_sendv (sassclient *a, uint32_t *cid, uint32_t timeout, uint32_t opcode, struct iovec const *vv, unsigned int n, sassclient_cb_func_ref cb, void *data, tain const *deadline, tain *stamp) +int sassclient_sendv (sassclient *a, uint32_t *cid, uint32_t flags, uint32_t timeout, uint32_t opcode, struct iovec const *vv, unsigned int n, sassclient_cb_func_ref cb, void *data, tain const *deadline, tain *stamp) { size_t len = siovec_len(vv, n) ; uint32_t id ; int e ; struct iovec answer ; sassclient_data *p ; - char pack[17] = "+" ; + char pack[21] = "+" ; struct iovec v[1 + n] ; if (len + 11 > UINT32_MAX) return (errno = ENAMETOOLONG, 0) ; @@ -41,9 +41,10 @@ int sassclient_sendv (sassclient *a, uint32_t *cid, uint32_t timeout, uint32_t o v[0].iov_len = 17 ; for (unsigned int i = 0 ; i < n ; i++) v[i+1] = vv[i] ; uint32_pack_big(pack + 1, id) ; - uint32_pack_big(pack + 5, timeout) ; - uint32_pack_big(pack + 9, opcode) ; - uint32_pack_big(pack + 13, len) ; + uint32_pack_big(pack + 5, flags) ; + uint32_pack_big(pack + 9, timeout) ; + uint32_pack_big(pack + 13, opcode) ; + uint32_pack_big(pack + 17, len) ; if (!textclient_exchangev(&a->connection, v, 1 + n, &answer, deadline, stamp)) { e = errno ; goto err0 ; } if (answer.iov_len == 1) { e = *(unsigned char *)answer.iov_base ; goto err0 ; } if (answer.iov_len != 5 || *(unsigned char *)answer.iov_base) { e = EPROTO ; goto err0 ; } |
