- snprintf(buf, sizeof buf, "%s", NULL);
- assert(strcmp(buf, "<NULL>") == 0);
+#define TEST(FMT, VALUE, EXPECT) do { \
+ snprintf(buf, sizeof buf, FMT, VALUE); \
+ assert(strcmp(buf, EXPECT) == 0); \
+ } while (0)
+
+ TEST("%d", 12345, "12345");
+ TEST("%ld", 123456789L, "123456789");
+ TEST("%ld", -12345678L, "-12345678");
+ TEST("%lu", 4294967295UL, "4294967295");
+ TEST("%hd", -12345, "-12345");
+ TEST("%hu", 65535U, "65535");