diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-11-16 11:44:01 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-11-16 11:44:01 +0000 |
commit | 6f6f02b1ad22010c4381485b80e37641d7e70fd0 (patch) | |
tree | d33fb25cf386eeec33c7a9cc52b9f26a54521c6b /src/lib | |
parent | 54e8a8abe3841b4c0ba17ea50321ddbe18032867 (diff) | |
download | gnunet-gtk-6f6f02b1ad22010c4381485b80e37641d7e70fd0.tar.gz gnunet-gtk-6f6f02b1ad22010c4381485b80e37641d7e70fd0.zip |
-more libexec fixes for OpenSUSE
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/os_installation.c | 53 |
1 files changed, 49 insertions, 4 deletions
diff --git a/src/lib/os_installation.c b/src/lib/os_installation.c index d822b553..4b169302 100644 --- a/src/lib/os_installation.c +++ b/src/lib/os_installation.c | |||
@@ -522,9 +522,30 @@ GNUNET_GTK_installation_get_path (enum GNUNET_OS_InstallationPathKind dirkind) | |||
522 | break; | 522 | break; |
523 | case GNUNET_OS_IPK_LIBDIR: | 523 | case GNUNET_OS_IPK_LIBDIR: |
524 | if (isbasedir) | 524 | if (isbasedir) |
525 | { | ||
525 | dirname = | 526 | dirname = |
526 | DIR_SEPARATOR_STR "lib" DIR_SEPARATOR_STR "gnunet-gtk" | 527 | DIR_SEPARATOR_STR "lib" DIR_SEPARATOR_STR "gnunet-gtk" DIR_SEPARATOR_STR; |
527 | DIR_SEPARATOR_STR; | 528 | tmp = GNUNET_malloc (strlen (execpath) + strlen (dirname) + 1); |
529 | sprintf (tmp, "%s%s", execpath, dirname); | ||
530 | if ( (GNUNET_YES != | ||
531 | GNUNET_DISK_directory_test (tmp, GNUNET_YES)) && | ||
532 | (4 == sizeof (void *)) ) | ||
533 | { | ||
534 | GNUNET_free (tmp); | ||
535 | dirname = | ||
536 | DIR_SEPARATOR_STR "lib32" DIR_SEPARATOR_STR "gnunet-gtk" DIR_SEPARATOR_STR; | ||
537 | tmp = GNUNET_malloc (strlen (execpath) + strlen (dirname) + 1); | ||
538 | sprintf (tmp, "%s%s", execpath, dirname); | ||
539 | } | ||
540 | if ( (GNUNET_YES != | ||
541 | GNUNET_DISK_directory_test (tmp, GNUNET_YES)) && | ||
542 | (8 == sizeof (void *)) ) | ||
543 | { | ||
544 | dirname = | ||
545 | DIR_SEPARATOR_STR "lib64" DIR_SEPARATOR_STR "gnunet-gtk" DIR_SEPARATOR_STR; | ||
546 | } | ||
547 | GNUNET_free (tmp); | ||
548 | } | ||
528 | else | 549 | else |
529 | dirname = DIR_SEPARATOR_STR "gnunet-gtk" DIR_SEPARATOR_STR; | 550 | dirname = DIR_SEPARATOR_STR "gnunet-gtk" DIR_SEPARATOR_STR; |
530 | break; | 551 | break; |
@@ -543,12 +564,36 @@ GNUNET_GTK_installation_get_path (enum GNUNET_OS_InstallationPathKind dirkind) | |||
543 | break; | 564 | break; |
544 | case GNUNET_OS_IPK_LIBEXECDIR: | 565 | case GNUNET_OS_IPK_LIBEXECDIR: |
545 | if (isbasedir) | 566 | if (isbasedir) |
567 | { | ||
546 | dirname = | 568 | dirname = |
547 | DIR_SEPARATOR_STR "lib" DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR \ | 569 | DIR_SEPARATOR_STR "lib" DIR_SEPARATOR_STR "gnunet-gtk" DIR_SEPARATOR_STR \ |
548 | "libexec" DIR_SEPARATOR_STR; | 570 | "libexec" DIR_SEPARATOR_STR; |
571 | tmp = GNUNET_malloc (strlen (execpath) + strlen (dirname) + 1); | ||
572 | sprintf (tmp, "%s%s", execpath, dirname); | ||
573 | if ( (GNUNET_YES != | ||
574 | GNUNET_DISK_directory_test (tmp, GNUNET_YES)) && | ||
575 | (4 == sizeof (void *)) ) | ||
576 | { | ||
577 | GNUNET_free (tmp); | ||
578 | dirname = | ||
579 | DIR_SEPARATOR_STR "lib32" DIR_SEPARATOR_STR "gnunet-gtk" DIR_SEPARATOR_STR \ | ||
580 | "libexec" DIR_SEPARATOR_STR; | ||
581 | tmp = GNUNET_malloc (strlen (execpath) + strlen (dirname) + 1); | ||
582 | sprintf (tmp, "%s%s", execpath, dirname); | ||
583 | } | ||
584 | if ( (GNUNET_YES != | ||
585 | GNUNET_DISK_directory_test (tmp, GNUNET_YES)) && | ||
586 | (8 == sizeof (void *)) ) | ||
587 | { | ||
588 | dirname = | ||
589 | DIR_SEPARATOR_STR "lib64" DIR_SEPARATOR_STR "gnunet-gtk" DIR_SEPARATOR_STR \ | ||
590 | "libexec" DIR_SEPARATOR_STR; | ||
591 | } | ||
592 | GNUNET_free (tmp); | ||
593 | } | ||
549 | else | 594 | else |
550 | dirname = | 595 | dirname = |
551 | DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR \ | 596 | DIR_SEPARATOR_STR "gnunet-gtk" DIR_SEPARATOR_STR \ |
552 | "libexec" DIR_SEPARATOR_STR; | 597 | "libexec" DIR_SEPARATOR_STR; |
553 | break; | 598 | break; |
554 | default: | 599 | default: |