aboutsummaryrefslogtreecommitdiff
path: root/src/nng.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2016-12-25 09:12:55 -0800
committerGarrett D'Amore <garrett@damore.org>2016-12-25 09:12:55 -0800
commit00d021b7ad602e467c55757b6e39e40e0c021f9a (patch)
tree1b8f9e6b11c6facbdf181bc716427f48ff88fc56 /src/nng.c
parent8fd3f036a662db3fabdeec9b817f77d2a20d70fe (diff)
downloadnng-00d021b7ad602e467c55757b6e39e40e0c021f9a.tar.gz
nng-00d021b7ad602e467c55757b6e39e40e0c021f9a.tar.bz2
nng-00d021b7ad602e467c55757b6e39e40e0c021f9a.zip
Use macros to condense initialization checks.
Diffstat (limited to 'src/nng.c')
-rw-r--r--src/nng.c115
1 files changed, 32 insertions, 83 deletions
diff --git a/src/nng.c b/src/nng.c
index 903e30b0..9d20822f 100644
--- a/src/nng.c
+++ b/src/nng.c
@@ -17,6 +17,18 @@
// Anything not defined in this file, applications have no business using.
// Pretty much every function calls the nni_platform_init to check against
// fork related activity.
+
+#define NNI_INIT_INT() \
+ do { \
+ if (nni_init() != 0) { \
+ return (NNG_ENOMEM); \
+ } \
+ } \
+ while (0)
+
+#define NNI_INIT_VOID() \
+ (void) nni_init()
+
int
nng_open(nng_socket **s, uint16_t proto)
{
@@ -32,11 +44,7 @@ nng_open(nng_socket **s, uint16_t proto)
int
nng_close(nng_socket *s)
{
- int rv;
-
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_socket_close(s));
}
@@ -44,7 +52,7 @@ nng_close(nng_socket *s)
uint16_t
nng_protocol(nng_socket *s)
{
- nni_init();
+ NNI_INIT_VOID();
return (nni_socket_proto(s));
}
@@ -52,12 +60,9 @@ nng_protocol(nng_socket *s)
int
nng_recvmsg(nng_socket *s, nng_msg **msgp, int flags)
{
- int rv;
nni_time expire;
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
if ((flags == NNG_FLAG_NONBLOCK) || (s->s_rcvtimeo == 0)) {
expire = NNI_TIME_ZERO;
@@ -74,12 +79,9 @@ nng_recvmsg(nng_socket *s, nng_msg **msgp, int flags)
int
nng_sendmsg(nng_socket *s, nng_msg *msg, int flags)
{
- int rv;
nni_time expire;
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
if ((flags == NNG_FLAG_NONBLOCK) || (s->s_sndtimeo == 0)) {
expire = NNI_TIME_ZERO;
@@ -96,11 +98,7 @@ nng_sendmsg(nng_socket *s, nng_msg *msg, int flags)
int
nng_setopt(nng_socket *s, int opt, const void *val, size_t sz)
{
- int rv;
-
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_socket_setopt(s, opt, val, sz));
}
@@ -108,11 +106,7 @@ nng_setopt(nng_socket *s, int opt, const void *val, size_t sz)
int
nng_getopt(nng_socket *s, int opt, void *val, size_t *szp)
{
- int rv;
-
- if ((rv == nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_socket_getopt(s, opt, val, szp));
}
@@ -121,7 +115,6 @@ nng_getopt(nng_socket *s, int opt, void *val, size_t *szp)
const char *
nng_strerror(int num)
{
- nni_init();
switch (num) {
case 0:
return ("Hunky dory"); // What did you expect?
@@ -166,11 +159,7 @@ nng_strerror(int num)
int
nng_msg_alloc(nng_msg **msgp, size_t size)
{
- int rv;
-
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_msg_alloc(msgp, size));
}
@@ -178,11 +167,7 @@ nng_msg_alloc(nng_msg **msgp, size_t size)
int
nng_msg_realloc(nng_msg *msg, size_t sz)
{
- int rv;
-
- if ((rv == nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_msg_realloc(msg, sz));
}
@@ -190,7 +175,7 @@ nng_msg_realloc(nng_msg *msg, size_t sz)
void
nng_msg_free(nng_msg *msg)
{
- nni_init();
+ NNI_INIT_VOID();
return (nni_msg_free(msg));
}
@@ -198,7 +183,7 @@ nng_msg_free(nng_msg *msg)
void *
nng_msg_body(nng_msg *msg, size_t *szp)
{
- nni_init();
+ NNI_INIT_VOID();
return (nni_msg_body(msg, szp));
}
@@ -206,7 +191,7 @@ nng_msg_body(nng_msg *msg, size_t *szp)
void *
nng_msg_header(nng_msg *msg, size_t *szp)
{
- nni_init();
+ NNI_INIT_VOID();
return (nni_msg_header(msg, szp));
}
@@ -214,11 +199,7 @@ nng_msg_header(nng_msg *msg, size_t *szp)
int
nng_msg_append(nng_msg *msg, const void *data, size_t sz)
{
- int rv;
-
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_msg_append(msg, data, sz));
}
@@ -226,11 +207,7 @@ nng_msg_append(nng_msg *msg, const void *data, size_t sz)
int
nng_msg_prepend(nng_msg *msg, const void *data, size_t sz)
{
- int rv;
-
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_msg_prepend(msg, data, sz));
}
@@ -238,11 +215,7 @@ nng_msg_prepend(nng_msg *msg, const void *data, size_t sz)
int
nng_msg_append_header(nng_msg *msg, const void *data, size_t sz)
{
- int rv;
-
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_msg_append_header(msg, data, sz));
}
@@ -250,11 +223,7 @@ nng_msg_append_header(nng_msg *msg, const void *data, size_t sz)
int
nng_msg_prepend_header(nng_msg *msg, const void *data, size_t sz)
{
- int rv;
-
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_msg_prepend_header(msg, data, sz));
}
@@ -262,11 +231,7 @@ nng_msg_prepend_header(nng_msg *msg, const void *data, size_t sz)
int
nng_msg_trim(nng_msg *msg, size_t sz)
{
- int rv;
-
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_msg_trim(msg, sz));
}
@@ -274,11 +239,7 @@ nng_msg_trim(nng_msg *msg, size_t sz)
int
nng_msg_trunc(nng_msg *msg, size_t sz)
{
- int rv;
-
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_msg_trunc(msg, sz));
}
@@ -286,11 +247,7 @@ nng_msg_trunc(nng_msg *msg, size_t sz)
int
nng_msg_trim_header(nng_msg *msg, size_t sz)
{
- int rv;
-
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_msg_trim_header(msg, sz));
}
@@ -298,11 +255,7 @@ nng_msg_trim_header(nng_msg *msg, size_t sz)
int
nng_msg_trunc_header(nng_msg *msg, size_t sz)
{
- int rv;
-
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_msg_trunc_header(msg, sz));
}
@@ -310,10 +263,6 @@ nng_msg_trunc_header(nng_msg *msg, size_t sz)
int
nng_msg_getopt(nng_msg *msg, int opt, void *ptr, size_t *szp)
{
- int rv;
-
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
+ NNI_INIT_INT();
return (nni_msg_getopt(msg, opt, ptr, szp));
}