X-Git-Url: http://www.average.org/gitweb/?p=pam_pcsc_cr.git;a=blobdiff_plain;f=test_serial.c;h=49f157e295d61a42d1762890d2bc7a6ed31a2d2f;hp=b9d5e4bbd7f70d11d3367625d4008a36ccf960b1;hb=2b714d273b08b945ef677e0fbbf2c8d3d4437980;hpb=ec614a7e3bc846cf9d3477303901759609c8f12f;ds=inline diff --git a/test_serial.c b/test_serial.c index b9d5e4b..49f157e 100644 --- a/test_serial.c +++ b/test_serial.c @@ -1,3 +1,26 @@ +/* +Copyright (c) 2013 Eugene Crosser + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product documentation + would be appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +*/ + #include #include #include "serial.h" @@ -14,10 +37,7 @@ int main(int argc, char *argv[]) int i, rc; serializer_t srl; - if ((rc = serial_init(&srl, buffer, sizeof(buffer)))) { - printf("serial_init rc=%d\n", rc); - return 1; - } + serial_init(&srl, buffer, sizeof(buffer)); for (i = 0; in[i]; i++) { int size = strlen(in[i]); if ((rc = serial_put(&srl, in[i], size)) != size) { @@ -31,22 +51,15 @@ int main(int argc, char *argv[]) return 1; } printf("serialized size=%d\n", serial_size(&srl)); - if ((rc = serial_init(&srl, buffer, sizeof(buffer)))) { - printf("second serial_init rc=%d\n", rc); - return 1; - } + serial_init(&srl, buffer, sizeof(buffer)); for (i = 0; i < 4; i++) { - char item[32]; - memset(item, 0, sizeof(item)); - int size = serial_get(&srl, item, sizeof(item)); - if (size > sizeof(item)) { - printf("serial_get(..., item, %d) = %d\n", - (int)sizeof(item), size); + char *item; + int size; + if (serial_get(&srl, (void**)&item, &size)) { + printf("serial_get failed for item %d\n", i); rc = 1; - } else if (size == 0) { - printf("serial_get(...) = 0\n"); } else { - printf("serial_get(...) = %d: \"%s\"\n", size, item); + printf("serial_get(...) = %d: \"%.*s\"\n", size, size, item); if (memcmp(in[i], item, size)) { printf("\"%s\" != \"%s\" (%d)\n", in[i], item, size);