gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r7993 - GNUnet/src/util/os
Date: Sun, 7 Dec 2008 20:30:41 -0700 (MST)

Author: grothoff
Date: 2008-12-07 20:30:41 -0700 (Sun, 07 Dec 2008)
New Revision: 7993

Modified:
   GNUnet/src/util/os/installpath.c
Log:
code cleanup

Modified: GNUnet/src/util/os/installpath.c
===================================================================
--- GNUnet/src/util/os/installpath.c    2008-12-07 09:02:18 UTC (rev 7992)
+++ GNUnet/src/util/os/installpath.c    2008-12-08 03:30:41 UTC (rev 7993)
@@ -106,39 +106,33 @@
 static char *
 get_path_from_NSGetExecutablePath ()
 {
+  static char zero = '\0';
   char *path;
-  char zero = '\0';
   size_t len;
-  void *func;
+  MyNSGetExecutablePathProto func;
   int ret;
 
   path = NULL;
-  func = dlsym (RTLD_DEFAULT, "_NSGetExecutablePath");
-  if (func)
+  func = (MyNSGetExecutablePathProto) dlsym (RTLD_DEFAULT, 
"_NSGetExecutablePath");
+  if (! func)
+    return NULL;    
+  path = &zero;
+  len = 0;
+  func (path, &len);
+  if (len == 0)
+    return NULL;
+  len++;
+  path = GNUNET_malloc (len);
+  memset (path, 0x00, len);
+  ret = func (path, &len);
+  if (ret != 0)
     {
-      path = &zero;
-      len = 0;
-      ret = ((MyNSGetExecutablePathProto) func) (path, &len);
-      if (len == 0)
-        path = NULL;
-      else
-        {
-          path = (char *) GNUNET_malloc (len);
-          memset (path, 0x00, len);
-          ret = ((MyNSGetExecutablePathProto) func) (path, &len);
-          if (ret != 0)
-            {
-              GNUNET_free (path);
-              path = NULL;
-            }
-          else
-            {
-              while ((path[len] != '/') && (len > 0))
-                len--;
-              path[len] = '\0';
-            }
-        }
+      GNUNET_free (path);
+      return NULL;
     }
+  while ((path[len] != '/') && (len > 0))
+    len--;
+  path[len] = '\0';
   return path;
 }
 #endif





reply via email to

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