summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2009-10-13 11:11:47 +0200
committerWerner Koch <wk@gnupg.org>2009-10-13 11:11:47 +0200
commit9b345f2a8ae59ae582fa1580593035b73cb90fd1 (patch)
tree4671419a93f08a2763ccb87dcc1064bb470caea7 /tests
parentImplement the server comamnd DECRYPT. (diff)
downloadgnupg2-9b345f2a8ae59ae582fa1580593035b73cb90fd1.tar.xz
gnupg2-9b345f2a8ae59ae582fa1580593035b73cb90fd1.zip
Replace C99 style vararg macro which was anyway not correct.
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog6
-rw-r--r--tests/asschk.c61
2 files changed, 38 insertions, 29 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index fb07c4c00..124ff9b8f 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,9 @@
+2009-10-13 Werner Koch <wk@g10code.com>
+
+ * asschk.c (die): Replace this vararg macro by C-89 compliant
+ macros die_0, die_1, die_2 and die 3. Change all callers.
+ Reported by Nelson H. F. Beebe.
+
2009-02-19 Werner Koch <wk@g10code.com>
* Makefile.am (TESTS_ENVIRONMENT): Use /bin/pwd.
diff --git a/tests/asschk.c b/tests/asschk.c
index c4a50acb3..ec338e73d 100644
--- a/tests/asschk.c
+++ b/tests/asschk.c
@@ -199,7 +199,10 @@ die (const char *format, ...)
exit (1);
}
-#define die(format, args...) (die) ("%s: " format, __func__ , ##args)
+#define die_0(format) (die) ("%s: " format, __func__)
+#define die_1(format, a) (die) ("%s: " format, __func__, (a))
+#define die_2(format, a, b) (die) ("%s: " format, __func__, (a),(b))
+#define die_3(format, a, b, c) (die) ("%s: " format, __func__, (a),(b),(c))
static void
err (const char *format, ...)
@@ -290,7 +293,7 @@ read_assuan (int fd)
if (pending_len)
{
if (pending_len >= nleft)
- die ("received line too large");
+ die_0 ("received line too large");
memcpy (buf, pending, pending_len);
n = pending_len;
pending_len = 0;
@@ -315,9 +318,9 @@ read_assuan (int fd)
}
if (n < 0)
- die ("reading fd %d failed: %s", fd, strerror (errno));
+ die_2 ("reading fd %d failed: %s", fd, strerror (errno));
else if (!n)
- die ("received incomplete line on fd %d", fd);
+ die_1 ("received incomplete line on fd %d", fd);
p = buf;
nleft -= n;
buf += n;
@@ -337,7 +340,7 @@ read_assuan (int fd)
}
}
if (!nleft)
- die ("received line too large");
+ die_0 ("received line too large");
p = recv_line;
if (p[0] == 'O' && p[1] == 'K' && (p[2] == ' ' || !p[2]))
@@ -367,7 +370,7 @@ read_assuan (int fd)
p += 3;
}
else
- die ("invalid line type (%.5s)", p);
+ die_1 ("invalid line type (%.5s)", p);
return p;
}
@@ -381,13 +384,13 @@ write_assuan (int fd, const char *line)
size_t n = strlen (line);
if (n > 1024)
- die ("line too long for Assuan protocol");
+ die_0 ("line too long for Assuan protocol");
strcpy (buffer, line);
if (!n || buffer[n-1] != '\n')
buffer[n++] = '\n';
if (writen (fd, buffer, n))
- die ("sending line (\"%s\") to %d failed: %s", buffer, fd,
+ die_3 ("sending line (\"%s\") to %d failed: %s", buffer, fd,
strerror (errno));
}
@@ -404,15 +407,15 @@ start_server (const char *pgmname)
pid_t pid;
if (pipe (rp) < 0)
- die ("pipe creation failed: %s", strerror (errno));
+ die_1 ("pipe creation failed: %s", strerror (errno));
if (pipe (wp) < 0)
- die ("pipe creation failed: %s", strerror (errno));
+ die_1 ("pipe creation failed: %s", strerror (errno));
fflush (stdout);
fflush (stderr);
pid = fork ();
if (pid < 0)
- die ("fork failed");
+ die_0 ("fork failed");
if (!pid)
{
@@ -427,29 +430,29 @@ start_server (const char *pgmname)
if (wp[0] != STDIN_FILENO)
{
if (dup2 (wp[0], STDIN_FILENO) == -1)
- die ("dup2 failed in child: %s", strerror (errno));
+ die_1 ("dup2 failed in child: %s", strerror (errno));
close (wp[0]);
}
if (rp[1] != STDOUT_FILENO)
{
if (dup2 (rp[1], STDOUT_FILENO) == -1)
- die ("dup2 failed in child: %s", strerror (errno));
+ die_1 ("dup2 failed in child: %s", strerror (errno));
close (rp[1]);
}
if (!opt_verbose)
{
int fd = open ("/dev/null", O_WRONLY);
if (fd == -1)
- die ("can't open `/dev/null': %s", strerror (errno));
+ die_1 ("can't open `/dev/null': %s", strerror (errno));
if (dup2 (fd, STDERR_FILENO) == -1)
- die ("dup2 failed in child: %s", strerror (errno));
+ die_1 ("dup2 failed in child: %s", strerror (errno));
close (fd);
}
close (wp[1]);
close (rp[0]);
execl (pgmname, arg0, "--server", NULL);
- die ("exec failed for `%s': %s", pgmname, strerror (errno));
+ die_2 ("exec failed for `%s': %s", pgmname, strerror (errno));
}
close (wp[0]);
close (rp[1]);
@@ -458,7 +461,7 @@ start_server (const char *pgmname)
read_assuan (server_recv_fd);
if (recv_type != LINE_OK)
- die ("no greating message");
+ die_0 ("no greating message");
}
@@ -723,7 +726,7 @@ cmd_expect_ok (const char *assign_to, char *arg)
}
while (recv_type != LINE_OK && recv_type != LINE_ERR);
if (recv_type != LINE_OK)
- die ("expected OK but got `%s'", recv_line);
+ die_1 ("expected OK but got `%s'", recv_line);
}
static void
@@ -744,7 +747,7 @@ cmd_expect_err (const char *assign_to, char *arg)
}
while (recv_type != LINE_OK && recv_type != LINE_ERR);
if (recv_type != LINE_ERR)
- die ("expected ERR but got `%s'", recv_line);
+ die_1 ("expected ERR but got `%s'", recv_line);
}
static void
@@ -753,7 +756,7 @@ cmd_count_status (const char *assign_to, char *arg)
char *p;
if (!*assign_to || !*arg)
- die ("syntax error: count-status requires an argument and a variable");
+ die_0 ("syntax error: count-status requires an argument and a variable");
for (p=arg; *p && !spacep (p); p++)
;
@@ -762,7 +765,7 @@ cmd_count_status (const char *assign_to, char *arg)
for (*p++ = 0; spacep (p); p++)
;
if (*p)
- die ("cmpfiles: syntax error");
+ die_0 ("cmpfiles: syntax error");
}
set_type_var (assign_to, arg, VARTYPE_COUNTER);
}
@@ -777,7 +780,7 @@ cmd_openfile (const char *assign_to, char *arg)
fd = open (arg, O_RDONLY);
while (fd == -1 && errno == EINTR);
if (fd == -1)
- die ("error opening `%s': %s", arg, strerror (errno));
+ die_2 ("error opening `%s': %s", arg, strerror (errno));
sprintf (numbuf, "%d", fd);
set_type_var (assign_to, numbuf, VARTYPE_FD);
@@ -793,7 +796,7 @@ cmd_createfile (const char *assign_to, char *arg)
fd = open (arg, O_WRONLY|O_CREAT|O_TRUNC, 0666);
while (fd == -1 && errno == EINTR);
if (fd == -1)
- die ("error creating `%s': %s", arg, strerror (errno));
+ die_2 ("error creating `%s': %s", arg, strerror (errno));
sprintf (numbuf, "%d", fd);
set_type_var (assign_to, numbuf, VARTYPE_FD);
@@ -806,7 +809,7 @@ cmd_pipeserver (const char *assign_to, char *arg)
(void)assign_to;
if (!*arg)
- die ("syntax error: servername missing");
+ die_0 ("syntax error: servername missing");
start_server (arg);
}
@@ -846,7 +849,7 @@ cmd_cmpfiles (const char *assign_to, char *arg)
for (p=arg; *p && !spacep (p); p++)
;
if (!*p)
- die ("cmpfiles: syntax error");
+ die_0 ("cmpfiles: syntax error");
for (*p++ = 0; spacep (p); p++)
;
second = p;
@@ -857,7 +860,7 @@ cmd_cmpfiles (const char *assign_to, char *arg)
for (*p++ = 0; spacep (p); p++)
;
if (*p)
- die ("cmpfiles: syntax error");
+ die_0 ("cmpfiles: syntax error");
}
fp1 = fopen (arg, "rb");
@@ -973,7 +976,7 @@ interpreter (char *line)
assign_to = line;
}
if (!*line)
- die ("syntax error");
+ die_0 ("syntax error");
stmt = line;
save_c = 0;
save_p = NULL;
@@ -1003,7 +1006,7 @@ interpreter (char *line)
if (!cmdtbl[i].name)
{
if (!assign_to)
- die ("invalid statement `%s'\n", stmt);
+ die_1 ("invalid statement `%s'\n", stmt);
if (save_p)
*save_p = save_c;
set_var (assign_to, stmt);
@@ -1078,7 +1081,7 @@ main (int argc, char **argv)
{
p = strchr (buffer,'\n');
if (!p)
- die ("incomplete script line");
+ die_0 ("incomplete script line");
*p = 0;
if (interpreter (buffer))
break;