gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r30067 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r30067 - gnunet/src/transport
Date: Wed, 9 Oct 2013 22:43:14 +0200

Author: grothoff
Date: 2013-10-09 22:43:14 +0200 (Wed, 09 Oct 2013)
New Revision: 30067

Modified:
   gnunet/src/transport/gnunet-transport-certificate-creation.c
Log:
-replace stderr with /dev/null, instead of just closing

Modified: gnunet/src/transport/gnunet-transport-certificate-creation.c
===================================================================
--- gnunet/src/transport/gnunet-transport-certificate-creation.c        
2013-10-09 20:16:52 UTC (rev 30066)
+++ gnunet/src/transport/gnunet-transport-certificate-creation.c        
2013-10-09 20:43:14 UTC (rev 30067)
@@ -26,7 +26,30 @@
 #include "platform.h"
 #include "gnunet_util_lib.h"
 
+#ifndef WINDOWS
+/**
+ * Turn the given file descriptor in to '/dev/null'.
+ *
+ * @param fd fd to bind to /dev/null
+ * @param flags flags to use (O_RDONLY or O_WRONLY)
+ */
+static void
+make_dev_zero (int fd,
+              int flags)
+{
+  int z;
 
+  GNUNET_assert (0 == close (fd));
+  z = open ("/dev/null", flags);
+  GNUNET_assert (-1 != z);
+  if (z == fd)
+    return;
+  dup2 (z, fd);
+  GNUNET_assert (0 == close (z));
+}
+#endif
+
+
 static void
 removecerts (const char *file1,
             const char *file2)
@@ -62,7 +85,12 @@
   removecerts (argv[1], argv[2]);
   (void) GNUNET_DISK_directory_create_for_file (argv[1]);
   (void) GNUNET_DISK_directory_create_for_file (argv[2]);
-  (void) close (2);                    /* eliminate stderr */
+  /* eliminate stderr */
+#if WINDOWS
+  (void) close (2);
+#else
+  make_dev_zero (2, O_WRONLY);
+#endif
   /* Create RSA Private Key */
   /* openssl genrsa -out $1 1024 2> /dev/null */
   openssl =




reply via email to

[Prev in Thread] Current Thread [Next in Thread]