aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-11-16 11:00:22 +0000
committerChristian Grothoff <christian@grothoff.org>2012-11-16 11:00:22 +0000
commit27520ef39b732562a6c4ffa8640b44250ad72a4a (patch)
tree46318ad4105dde8c64a2bbed4994e0e6fcec7401
parent934db0fcddb6c3fb793e1995cb3441b22945809a (diff)
downloadgnunet-27520ef39b732562a6c4ffa8640b44250ad72a4a.tar.gz
gnunet-27520ef39b732562a6c4ffa8640b44250ad72a4a.zip
-more libexec fixes for OpenSUSE
-rw-r--r--src/util/os_installation.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/util/os_installation.c b/src/util/os_installation.c
index b82060bca..c6dca8390 100644
--- a/src/util/os_installation.c
+++ b/src/util/os_installation.c
@@ -523,8 +523,30 @@ GNUNET_OS_installation_get_path (enum GNUNET_OS_InstallationPathKind dirkind)
523 break; 523 break;
524 case GNUNET_OS_IPK_LIBDIR: 524 case GNUNET_OS_IPK_LIBDIR:
525 if (isbasedir) 525 if (isbasedir)
526 {
526 dirname = 527 dirname =
527 DIR_SEPARATOR_STR "lib" DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR; 528 DIR_SEPARATOR_STR "lib" DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR;
529 tmp = GNUNET_malloc (strlen (execpath) + strlen (dirname) + 1);
530 sprintf (tmp, "%s%s", execpath, dirname);
531 if ( (GNUNET_YES !=
532 GNUNET_DISK_directory_test (tmp, GNUNET_YES)) &&
533 (4 == sizeof (void *)) )
534 {
535 GNUNET_free (tmp);
536 dirname =
537 DIR_SEPARATOR_STR "lib32" DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR;
538 tmp = GNUNET_malloc (strlen (execpath) + strlen (dirname) + 1);
539 sprintf (tmp, "%s%s", execpath, dirname);
540 }
541 if ( (GNUNET_YES !=
542 GNUNET_DISK_directory_test (tmp, GNUNET_YES)) &&
543 (8 == sizeof (void *)) )
544 {
545 dirname =
546 DIR_SEPARATOR_STR "lib64" DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR;
547 }
548 GNUNET_free (tmp);
549 }
528 else 550 else
529 dirname = DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR; 551 dirname = DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR;
530 break; 552 break;
@@ -547,9 +569,33 @@ GNUNET_OS_installation_get_path (enum GNUNET_OS_InstallationPathKind dirkind)
547 break; 569 break;
548 case GNUNET_OS_IPK_LIBEXECDIR: 570 case GNUNET_OS_IPK_LIBEXECDIR:
549 if (isbasedir) 571 if (isbasedir)
572 {
550 dirname = 573 dirname =
551 DIR_SEPARATOR_STR "lib" DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR \ 574 DIR_SEPARATOR_STR "lib" DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR \
552 "libexec" DIR_SEPARATOR_STR; 575 "libexec" DIR_SEPARATOR_STR;
576 tmp = GNUNET_malloc (strlen (execpath) + strlen (dirname) + 1);
577 sprintf (tmp, "%s%s", execpath, dirname);
578 if ( (GNUNET_YES !=
579 GNUNET_DISK_directory_test (tmp, GNUNET_YES)) &&
580 (4 == sizeof (void *)) )
581 {
582 GNUNET_free (tmp);
583 dirname =
584 DIR_SEPARATOR_STR "lib32" DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR \
585 "libexec" DIR_SEPARATOR_STR;
586 tmp = GNUNET_malloc (strlen (execpath) + strlen (dirname) + 1);
587 sprintf (tmp, "%s%s", execpath, dirname);
588 }
589 if ( (GNUNET_YES !=
590 GNUNET_DISK_directory_test (tmp, GNUNET_YES)) &&
591 (8 == sizeof (void *)) )
592 {
593 dirname =
594 DIR_SEPARATOR_STR "lib64" DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR \
595 "libexec" DIR_SEPARATOR_STR;
596 }
597 GNUNET_free (tmp);
598 }
553 else 599 else
554 dirname = 600 dirname =
555 DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR \ 601 DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR \