diff options
Diffstat (limited to 'src/fcdefault.c')
-rw-r--r-- | src/fcdefault.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/fcdefault.c b/src/fcdefault.c index aa47840..88978b8 100644 --- a/src/fcdefault.c +++ b/src/fcdefault.c @@ -23,6 +23,7 @@ */ #include "fcint.h" +#include <limits.h> #include <string.h> /* MT-safe */ @@ -139,6 +140,15 @@ retry: prgname = FcStrdup (p); } +#elif defined (HAVE_GETPROGNAME) && defined (HAVE_REALPATH) + const char *p = getprogname (); + char resolved_path[PATH_MAX + 1]; + + if (p) + { + if (realpath (p, resolved_path) != NULL) + prgname = FcStrdup (resolved_path); + } #else char buf[8192]; unsigned int len; |