summaryrefslogtreecommitdiff
path: root/ecp/test/init_vconn.c
diff options
context:
space:
mode:
Diffstat (limited to 'ecp/test/init_vconn.c')
-rw-r--r--ecp/test/init_vconn.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/ecp/test/init_vconn.c b/ecp/test/init_vconn.c
index b79aa3d..59e9517 100644
--- a/ecp/test/init_vconn.c
+++ b/ecp/test/init_vconn.c
@@ -15,16 +15,31 @@ static int v_rng(void *buf, size_t bufsize) {
return 0;
}
-static ECPConnection *conn_alloc(unsigned char type) {
+static ECPConnection *conn_alloc(ECPSocket *sock, unsigned char type) {
+ ECPConnection *conn;
+ int rv;
+
switch (type) {
case ECP_CTYPE_VCONN:
- return malloc(sizeof(ECPVConnIn));
+ conn = malloc(sizeof(ECPVConnIn));
+ break;
default:
- return malloc(sizeof(ECPConnection));
+ conn = malloc(sizeof(ECPConnection));
+ break;
+ }
+ if (conn == NULL) return NULL;
+
+ rv = ecp_conn_init(conn, sock, type);
+ if (rv) {
+ printf("free1\n");
+ free(conn);
+ return NULL;
}
+ return conn;
}
static void conn_free(ECPConnection *conn) {
+ printf("free2\n");
free(conn);
}