- if (-1 == asprintf (&cmd,
- "%s -t AAAA -u %s\n",
- "gnunet-gns -r", name))
- return -1;
+ char *argv[] = {
+ "gnunet-gns",
+ "-r",
+ "-t",
+ (AF_INET6 == af) ? "AAAA" : "A",
+ "-u",
+ (char *) name,
+ NULL
+ };
+
+ (void) close (STDOUT_FILENO);
+ if ( (0 != close (out[0])) ||
+ (STDOUT_FILENO != dup2 (out[1], STDOUT_FILENO)) )
+ _exit (1);
+ (void) execvp ("gnunet-gns",
+ argv);
+ _exit (1);