summaryrefslogtreecommitdiff
path: root/src/libunixonacid/skaclient_server_init.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2014-12-04 16:30:20 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2014-12-04 16:30:20 +0000
commit82724c82fd69720a579a8b245637ac247c08c700 (patch)
tree1f805e13b5ebde8c3497c83914a317dd203bf263 /src/libunixonacid/skaclient_server_init.c
parent8ddcb8ca23638109b0b4c31b2214cd0cad700b6a (diff)
downloadskalibs-82724c82fd69720a579a8b245637ac247c08c700.tar.xz
Better interface for simple skaclient servers
Diffstat (limited to 'src/libunixonacid/skaclient_server_init.c')
-rw-r--r--src/libunixonacid/skaclient_server_init.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/libunixonacid/skaclient_server_init.c b/src/libunixonacid/skaclient_server_init.c
index bd7c143..e44d0da 100644
--- a/src/libunixonacid/skaclient_server_init.c
+++ b/src/libunixonacid/skaclient_server_init.c
@@ -4,12 +4,10 @@
#include <skalibs/tai.h>
#include <skalibs/unixmessage.h>
-int skaclient_server_init (unixmessage_receiver_t *in, char *mainbuf, unsigned int mainlen, char *auxbuf, unsigned int auxlen, unixmessage_sender_t *out, unixmessage_sender_t *asyncout, char const *before, unsigned int beforelen, char const *after, unsigned int afterlen, tain_t const *deadline, tain_t *stamp)
+int skaclient_server_init (unixmessage_receiver_t *in, unixmessage_sender_t *out, unixmessage_sender_t *asyncout, char const *before, unsigned int beforelen, char const *after, unsigned int afterlen, tain_t const *deadline, tain_t *stamp)
{
unixmessage_t m ;
- if (!unixmessage_receiver_init(in, 0, mainbuf, mainlen, auxbuf, auxlen)) return 0 ;
- unixmessage_sender_init(out, 1) ;
- if (unixmessage_timed_receive(in, &m, deadline, stamp) < 0) return 0 ;
- if (!skaclient_server_ack(&m, out, asyncout, before, beforelen, after, afterlen)) return 0 ;
- return unixmessage_sender_timed_flush(out, deadline, stamp) ;
+ return (unixmessage_timed_receive(in, &m, deadline, stamp) >= 0)
+ && skaclient_server_ack(&m, out, asyncout, before, beforelen, after, afterlen)
+ && unixmessage_sender_timed_flush(out, deadline, stamp) ;
}