summaryrefslogtreecommitdiff
path: root/lib/util.c
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordberg.se>2013-03-01 14:34:21 +0100
committerLinus Nordberg <linus@nordberg.se>2013-03-01 14:34:21 +0100
commitf3252b34114236c65624862d2a572f5e290e8cc8 (patch)
tree7a7f720b89443c1cd2dd80290ed039e10d0f7d67 /lib/util.c
parentcb9748d119ec0ebd4e8e1bbecb5ef86a65a56061 (diff)
Revamping for listeners.
Split rs_connection into rs_baseconn plus rs_connection and rs_listener. Connections now has a state variable. Connect buffer event and fd of _source_ connection, not that of conn->active_peer. The connection object referred to by a peer is not meant for using as a connection, only for reporting errors on. Make sure things are sane even when not using a config file. Bump library interface version to 1.0.0 since it's changed.
Diffstat (limited to 'lib/util.c')
-rw-r--r--lib/util.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/util.c b/lib/util.c
index eceaec9..671fcde 100644
--- a/lib/util.c
+++ b/lib/util.c
@@ -11,9 +11,10 @@ rs_strdup (struct rs_context *ctx, const char *s)
{
char *buf = rs_calloc (ctx, 1, strlen (s) + 1);
- if (buf != NULL)
- return strcpy (buf, s);
+ if (buf)
+ strcpy (buf, s);
+ else
+ rs_err_ctx_push (ctx, RSE_NOMEM, NULL);
- rs_err_ctx_push (ctx, RSE_NOMEM, NULL);
- return NULL;
+ return buf;
}