diff options
Diffstat (limited to 'src/fcdefault.c')
-rw-r--r-- | src/fcdefault.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/fcdefault.c b/src/fcdefault.c index 2d7c4f7..b1bd9cc 100644 --- a/src/fcdefault.c +++ b/src/fcdefault.c @@ -140,23 +140,23 @@ retry: prgname = FcStrdup (p); } +#elif defined (HAVE_GETPROGNAME) + const char *q = getprogname (); + if (q) + prgname = FcStrdup (q); + else + prgname = FcStrdup (""); #else char buf[PATH_MAX + 1]; unsigned int len; char *p = NULL; -#if defined (HAVE_GETPROGNAME) && defined (HAVE_REALPATH) - const char *q = getprogname (); - if (q) - p = realpath (q, buf); -#else len = readlink ("/proc/self/exe", buf, sizeof (buf) - 1); if (len > 0) { buf[len] = '\0'; p = buf; } -#endif if (p) { @@ -171,12 +171,12 @@ retry: if (!prgname) prgname = FcStrdup (""); +#endif if (!fc_atomic_ptr_cmpexch (&default_prgname, NULL, prgname)) { free (prgname); goto retry; } -#endif } if (prgname && !prgname[0]) |