diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-11-16 11:00:22 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-11-16 11:00:22 +0000 |
commit | 27520ef39b732562a6c4ffa8640b44250ad72a4a (patch) | |
tree | 46318ad4105dde8c64a2bbed4994e0e6fcec7401 | |
parent | 934db0fcddb6c3fb793e1995cb3441b22945809a (diff) | |
download | gnunet-27520ef39b732562a6c4ffa8640b44250ad72a4a.tar.gz gnunet-27520ef39b732562a6c4ffa8640b44250ad72a4a.zip |
-more libexec fixes for OpenSUSE
-rw-r--r-- | src/util/os_installation.c | 46 |
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 \ |