summaryrefslogtreecommitdiff
path: root/src/fcdefault.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fcdefault.c')
-rw-r--r--src/fcdefault.c10
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;