PAM module works
[pam_pcsc_cr.git] / test_serial.c
index b9d5e4bbd7f70d11d3367625d4008a36ccf960b1..32e3ed3af15b23b0338ee9547a0c0daa4fe3b953 100644 (file)
@@ -14,10 +14,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 +28,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);