# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1668548461 0 # Node ID b5cd3242b5e7f7c13c31dcd6b34edf8f795da9ac # Parent ecfbc48e933a928aae10db7e7c327188add25941 Solaris: Add platform specific executable path detection. diff -r ecfbc48e933a -r b5cd3242b5e7 gtk/dw.c --- a/gtk/dw.c Tue Nov 15 10:32:42 2022 +0000 +++ b/gtk/dw.c Tue Nov 15 21:41:01 2022 +0000 @@ -2108,6 +2108,12 @@ size_t length = PATH_MAX; if(sysctl(name, 4, path, &length, NULL, 0) == -1 || length <= 1) +#elif defined(__sun__) + char procpath[101] = {0}; + + snprintf(procpath, 100, "/proc/%d/path/a.out", getpid()); + + if(readlink(procpath, path, PATH_MAX) == -1) #endif strncpy(path, arg ? arg : "", PATH_MAX); diff -r ecfbc48e933a -r b5cd3242b5e7 gtk3/dw.c --- a/gtk3/dw.c Tue Nov 15 10:32:42 2022 +0000 +++ b/gtk3/dw.c Tue Nov 15 21:41:01 2022 +0000 @@ -2048,6 +2048,12 @@ size_t length = PATH_MAX; if(sysctl(name, 4, path, &length, NULL, 0) == -1 || length <= 1) +#elif defined(__sun__) + char procpath[101] = {0}; + + snprintf(procpath, 100, "/proc/%d/path/a.out", getpid()); + + if(readlink(procpath, path, PATH_MAX) == -1) #endif strncpy(path, arg ? arg : "", PATH_MAX); diff -r ecfbc48e933a -r b5cd3242b5e7 gtk4/dw.c --- a/gtk4/dw.c Tue Nov 15 10:32:42 2022 +0000 +++ b/gtk4/dw.c Tue Nov 15 21:41:01 2022 +0000 @@ -1519,6 +1519,12 @@ size_t length = PATH_MAX; if(sysctl(name, 4, path, &length, NULL, 0) == -1 || length <= 1) +#elif defined(__sun__) + char procpath[101] = {0}; + + snprintf(procpath, 100, "/proc/%d/path/a.out", getpid()); + + if(readlink(procpath, path, PATH_MAX) == -1) #endif strncpy(path, arg ? arg : "", PATH_MAX);