testprogs: fix REG_SZ in print_printer_data.
[ira/wip.git] / testprogs / win32 / spoolss / printlib.c
index c1eaeebe14e846bc20060a38f129293fe84e2a52..4cab09d44130f91cffc78693ea503812adf921ca 100644 (file)
@@ -1168,12 +1168,20 @@ void print_printer_data(LPSTR keyname, LPSTR valuename, DWORD size, LPBYTE buffe
        }
 
        printf("\tValue Name:\t%s\n", valuename);
-       printf("\tSize: 0x%x (%d)\n", size, size);
+       printf("\tSize:\t\t0x%x (%d)\n", size, size);
        printf("\tType:\t\t%s\n", reg_type_str(type));
 
+       if (buffer == NULL || size == 0) {
+               return;
+       }
+
        switch (type) {
        case REG_SZ:
-               printf("\t\t%s\n", (LPSTR)buffer);
+               printf("\t\t");
+               for (i=0; i < size; i++) {
+                       printf("%c", buffer[i]);
+               }
+               printf("\n");
                break;
        case REG_MULTI_SZ:
                p = (LPSTR)buffer;