X-Git-Url: http://www.average.org/gitweb/?p=pam_pcsc_cr.git;a=blobdiff_plain;f=test_serial.c;h=49f157e295d61a42d1762890d2bc7a6ed31a2d2f;hp=c2a59e60171fe77cc3a9cdc3d8b7557e277dce13;hb=f6b4fd086473f179295386fb47fd422f47015d16;hpb=1fb61b04544488148032c06475042aec167d6097 diff --git a/test_serial.c b/test_serial.c index c2a59e6..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" @@ -30,17 +53,13 @@ int main(int argc, char *argv[]) printf("serialized size=%d\n", serial_size(&srl)); 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);