From 48565020c549105baed47ef4fcb7630cccd7ffa1 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Sun, 5 Jul 2015 18:10:54 -0400 Subject: Use C99 variadic macro as safety wrapper around variadic function. Are we having fun yet? --- utils/eim_peek_poke.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/utils/eim_peek_poke.c b/utils/eim_peek_poke.c index a6316fe..2511483 100644 --- a/utils/eim_peek_poke.c +++ b/utils/eim_peek_poke.c @@ -40,7 +40,10 @@ #include "novena-eim.h" -static int string_match(const char *s1, ...) +#define string_match(...) \ + _string_match(__VA_ARGS__, NULL) + +static int _string_match(const char *s1, ...) { const char *s2; @@ -91,7 +94,7 @@ int main(int argc, char *argv[]) off_t offset = 0; uint32_t value; - if (argc == 1 || string_match(argv[1], "-?", "-h", "--help", NULL)) + if (argc == 1 || string_match(argv[1], "-?", "-h", "--help")) usage(EXIT_SUCCESS, argv[0]); if (eim_setup() != 0) { @@ -99,14 +102,14 @@ int main(int argc, char *argv[]) return EXIT_FAILURE; } - if (string_match(argv[1], "r", "-r", "--read", "--peek", NULL)) { + if (string_match(argv[1], "r", "-r", "--read", "--peek")) { if (argc != 3 || !parse_offset(argv[2], &offset)) usage(EXIT_FAILURE, argv[0]); eim_read_32(offset, &value); printf("%08x\n", value); } - else if (string_match(argv[1], "w", "-w", "--write", "--poke", NULL)) { + else if (string_match(argv[1], "w", "-w", "--write", "--poke")) { if (argc != 4 || !parse_offset(argv[2], &offset) || !parse_value(argv[3], &value)) usage(EXIT_FAILURE, argv[0]); eim_write_32(offset, &value); -- cgit v1.2.3