gnunet-svn
[Top][All Lists]
Advanced

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

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


From: moon
Subject: [GNUnet-SVN] r3077 - GNUnet/src/util/os
Date: Fri, 30 Jun 2006 08:07:15 -0700 (PDT)

Author: moon
Date: 2006-06-30 08:07:11 -0700 (Fri, 30 Jun 2006)
New Revision: 3077

Modified:
   GNUnet/src/util/os/installpath.c
Log:
fixed some little bugs, cleared errors



Modified: GNUnet/src/util/os/installpath.c
===================================================================
--- GNUnet/src/util/os/installpath.c    2006-06-29 19:03:21 UTC (rev 3076)
+++ GNUnet/src/util/os/installpath.c    2006-06-30 15:07:11 UTC (rev 3077)
@@ -190,12 +190,22 @@
       *(ptr-n) = '\0';
       n++; }
     ptr = strrchr(tmp, DIR_SEPARATOR);
+
+    if( !( (*(ptr+1) == 'b)'
+        && (*(ptr+2) == 'i')
+        && (*(ptr+3) == 'n')) ) )
+      GE_LOG(ectx,
+             GE_WARNING | GE_ADMIN | GE_IMMEDIATE,
+             _("GNUnet executables are not in a directory named 'bin'. This 
may signal a broken installation.\n"));
+
+    *(ptr+1) = '\0';
+    n = 1;
     while( *(ptr-n) == DIR_SEPARATOR ) { /* same, but keep the final '/' */
       *(ptr-n+1) = '\0';
       n++; }
 
     if(*tmp == '\0') { /* no prefix at all */
-      GE_LOG(NULL,
+      GE_LOG(ectx,
              GE_ERROR | GE_USER | GE_ADMIN | GE_DEVELOPER | GE_IMMEDIATE,
              _("Cannot determine the installation prefix. Unknown error.\n"));
      return NULL; }
@@ -209,30 +219,32 @@
 
   switch(dirkind) {
     case PREFIX:
-      dirname = NULL;
+      dirname = STRDUP("\0");
+      break;
     case BINDIR:
-      dirname = STRDUP("bin/");
+      dirname = STRDUP("bin/\0");
+      break;
     case LIBDIR:
-      dirname = STRDUP("lib/");
+      dirname = STRDUP("lib/\0");
+      break;
     case DATADIR:
-      dirname = STRDUP("share/");
+      dirname = STRDUP("share/\0");
+      break;
     case PACKAGEDATADIR:
       tmp = MALLOC(9+strlen(prefix)+strlen(appname));
-      sprintf(tmp, "share/%s/%s/", prefix, appname);
+      sprintf(tmp, "share/%s/%s/\0", prefix, appname);
       dirname = STRDUP(tmp);
       FREE(tmp);
+      break;
     case LOCALEDIR:
-      dirname = STRDUP("share/locale/");
+      dirname = STRDUP("share/locale/\0");
+      break;
     default:
       return NULL; }
 
-  if( !(tmp = MALLOC(strlen(prefix)+strlen(dirname)+1)) ) {
-    GE_LOG(ectx,
-           GE_ERROR | GE_USER | GE_ADMIN | GE_IMMEDIATE,
-          _("Cannot determine the application directories. Memory allocation 
error.\n"));
-    return NULL; }
+  /* if an error occurs here, we won't be able to continue */
+  GE_ASSERT(ectx, (tmp = MALLOC(strlen(prefix)+strlen(dirname))) );
 
-  sprintf(tmp, "%s%s", prefix, dirname);
   final_dir = STRDUP(tmp);
 
   FREE(tmp);





reply via email to

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