X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Ftest_comstack.c;h=fedf567f5048c42dec1c4afc4ff3b26d5d0bf87f;hp=9ebc49101282cb390153c424432525dbc3ada46a;hb=d51b21c6f41a021f21078921a0de50106264d55e;hpb=5242cb5a8634bfa38b9333ff7f903e718ac6e292 diff --git a/test/test_comstack.c b/test/test_comstack.c index 9ebc491..fedf567 100644 --- a/test/test_comstack.c +++ b/test/test_comstack.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2012 Index Data + * Copyright (C) Index Data * See the file LICENSE for details. */ #if HAVE_CONFIG_H @@ -173,6 +173,20 @@ static void tst_http_response(void) YAZ_CHECK_EQ(cs_complete_auto(http_buf, 24), 0); } { + /* no content, no headers */ + const char *http_buf = + /*123456789012345678 */ + "HTTP/1.1 204 OK\r\n" + "\r\n" + "HTTP/1.1 200 OK\r\n"; + + YAZ_CHECK_EQ(cs_complete_auto(http_buf, 1), 0); + YAZ_CHECK_EQ(cs_complete_auto(http_buf, 2), 0); + YAZ_CHECK_EQ(cs_complete_auto(http_buf, 18), 0); + YAZ_CHECK_EQ(cs_complete_auto(http_buf, 19), 19); + YAZ_CHECK_EQ(cs_complete_auto(http_buf, 24), 19); + } + { /* response, content */ const char *http_buf = /*123456789012345678 */ @@ -209,18 +223,23 @@ static int comstack_example(const char *server_address_str) } server_address_ip = cs_straddr(stack, server_address_str); - if (!server_address_ip) - { + if (!server_address_ip) { fprintf(stderr, "cs_straddr: address could not be resolved\n"); return -1; } status = cs_connect(stack, server_address_ip); - if (status != 0) { + if (status) { fprintf(stderr, "cs_connect: %s\n", cs_strerror(stack)); return -1; } + status = cs_rcvconnect(stack); + if (status) { + fprintf(stderr, "cs_rcvconnect: %s\n", cs_strerror(stack)); + return -1; + } + status = cs_put(stack, protocol_package, protocol_package_length); if (status) { fprintf(stderr, "cs_put: %s\n", cs_strerror(stack)); @@ -228,7 +247,6 @@ static int comstack_example(const char *server_address_str) } /* Now get a response */ - length_incoming = cs_get(stack, &buf, &size); if (!length_incoming) { fprintf(stderr, "Connection closed\n"); @@ -244,7 +262,7 @@ static int comstack_example(const char *server_address_str) /* clean up */ cs_close(stack); if (buf) - free(buf); + xfree(buf); return 0; }