gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r7475 - GNUnet/src/util/os


From: gnunet
Subject: [GNUnet-SVN] r7475 - GNUnet/src/util/os
Date: Sat, 19 Jul 2008 22:07:09 -0600 (MDT)

Author: grothoff
Date: 2008-07-19 22:07:08 -0600 (Sat, 19 Jul 2008)
New Revision: 7475

Modified:
   GNUnet/src/util/os/user.c
Log:
check return value

Modified: GNUnet/src/util/os/user.c
===================================================================
--- GNUnet/src/util/os/user.c   2008-07-20 04:03:20 UTC (rev 7474)
+++ GNUnet/src/util/os/user.c   2008-07-20 04:07:08 UTC (rev 7475)
@@ -87,6 +87,7 @@
       /* Debian */
       /* TODO: FreeBSD? 
http://www.freebsd.org/cgi/man.cgi?query=adduser&sektion=8 */
       char *cmd;
+      int ret;
 
       haveGroup = group_name && strlen (group_name) > 0;
       cmd =
@@ -96,7 +97,17 @@
       if (haveGroup)
         {
           sprintf (cmd, "/usr/sbin/addgroup --quiet --system %s", group_name);
-          system (cmd);
+          ret = system (cmd);
+         if (ret == -1)
+           GNUNET_GE_LOG_STRERROR(NULL,
+                                  GNUNET_GE_ERROR | GNUNET_GE_BULK | 
GNUNET_GE_ADMIN,
+                                  "system");
+         else if (WEXITSTATUS(ret) != 0)
+           GNUNET_GE_LOG(NULL,
+                         GNUNET_GE_ERROR | GNUNET_GE_BULK | GNUNET_GE_ADMIN,
+                         _("`%s' returned with error code %u"),
+                         "addgroup",
+                         WEXITSTATUS(ret));        
         }
 
       sprintf (cmd,
@@ -104,7 +115,17 @@
                "--no-create-home %s",
                haveGroup ? "--ingroup" : "",
                haveGroup ? group_name : "", user_name);
-      system (cmd);
+      ret = system (cmd);
+      if (ret == -1)
+       GNUNET_GE_LOG_STRERROR(NULL,
+                              GNUNET_GE_ERROR | GNUNET_GE_BULK | 
GNUNET_GE_ADMIN,
+                              "system");     
+      else if (WEXITSTATUS(ret) != 0)
+       GNUNET_GE_LOG(NULL,
+                     GNUNET_GE_ERROR | GNUNET_GE_BULK | GNUNET_GE_ADMIN,
+                     _("`%s' returned with error code %u"),
+                     "adduser",
+                     WEXITSTATUS(ret));
       GNUNET_free (cmd);
       return GNUNET_OK;
     }





reply via email to

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