summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/torture/rpc/spoolss.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c
index 4011c2bc6c..05bd987c85 100644
--- a/source4/torture/rpc/spoolss.c
+++ b/source4/torture/rpc/spoolss.c
@@ -64,33 +64,55 @@ struct test_spoolss_context {
}\
} while(0)
+#define _CHECK_FIELD_SIZE(c,r,e,type) do {\
+ if (sizeof(__typeof__(c.e)) != sizeof(type)) { \
+ printf(__location__ ":" #c "." #e "field is not " #type "\n"); \
+ smb_panic(__location__ ":" #c "." #e "field is not " #type ); \
+ ret = False; \
+ }\
+ if (sizeof(__typeof__(r.e)) != sizeof(type)) { \
+ printf(__location__ ":" #r "." #e "field is not " #type "\n"); \
+ smb_panic(__location__ ":" #r "." #e "field is not " #type ); \
+ ret = False; \
+ }\
+} while(0)
+
+#if 0 /* unused */
#define COMPARE_UINT16(c,r,e) do {\
+ _CHECK_FIELD_SIZE(c,r,e,uint16_t); \
if (c.e != r.e){\
- printf("%s: " #c "." #e " 0x%08X (%u) doesn't match " #r "." #e " 0x%08X (%u)\n",\
+ printf("%s: " #c "." #e " 0x%04X (%u) doesn't match " #r "." #e " 0x%04X (%u)\n",\
__location__, c.e, c.e, r.e, r.e);\
ret = False;\
}\
} while(0)
+#endif
#define COMPARE_UINT32(c,r,e) do {\
+ _CHECK_FIELD_SIZE(c,r,e,uint32_t); \
if (c.e != r.e){\
- printf("%s: " #c "." #e " 0x%04X (%u) doesn't match " #r "." #e " 0x%04X (%u)\n",\
+ printf("%s: " #c "." #e " 0x%08X (%u) doesn't match " #r "." #e " 0x%08X (%u)\n",\
__location__, c.e, c.e, r.e, r.e);\
ret = False;\
}\
} while(0)
+#if 0 /* unused */
#define COMPARE_UINT64(c,r,e) do {\
+ _CHECK_FIELD_SIZE(c,r,e,uint64_t); \
if (c.e != r.e){\
printf("%s: " #c "." #e " 0x%016llX (%llu) doesn't match " #r "." #e " 0x%016llX (%llu)\n",\
__location__, c.e, c.e, r.e, r.e);\
ret = False;\
}\
} while(0)
+#endif
/* TODO: ! */
+#if 0 /* unused */
#define COMPARE_SEC_DESC(c,r,e)
#define COMPARE_SPOOLSS_TIME(c,r,e)
+#endif
#define COMPARE_STRING_ARRAY(c,r,e)
static BOOL test_OpenPrinter_server(struct test_spoolss_context *ctx)