aboutsummaryrefslogtreecommitdiffstats
path: root/src/libunixonacid/sassclient_cancel_internal.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libunixonacid/sassclient_cancel_internal.c')
-rw-r--r--src/libunixonacid/sassclient_cancel_internal.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libunixonacid/sassclient_cancel_internal.c b/src/libunixonacid/sassclient_cancel_internal.c
index 03eeea4..a18a5c2 100644
--- a/src/libunixonacid/sassclient_cancel_internal.c
+++ b/src/libunixonacid/sassclient_cancel_internal.c
@@ -12,10 +12,12 @@
int sassclient_cancel_internal (sassclient *a, uint32_t id, tain const *deadline, tain *stamp)
{
struct iovec answer ;
+ uint32_t ans ;
char pack[5] = "-" ;
uint32_pack_big(pack + 1, id) ;
if (!textclient_exchange(&a->connection, pack, 5, &answer, deadline, stamp)) return errno ;
- if (answer.iov_len != 1) return EPROTO ;
- return *(uint8_t *)answer.iov_base ;
+ if (answer.iov_len != 4) return EPROTO ;
+ uint32_unpack_big((char *)answer.iov_base, &ans) ;
+ return ans ;
}