additional improvements for freebsd mostly
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / file.C
index 3202057403e7c2540e8f8db3174963da546283aa..2a1330059cd468069f5e248f6343846445776e8f 100644 (file)
@@ -1666,7 +1666,14 @@ int File::record_fd()
 void File::get_exe_path(char *result, char *bnp)
 {
 // Get executable path, basename
+#if !defined(__FreeBSD__)
        int len = readlink("/proc/self/exe", result, BCTEXTLEN-1);
+#else
+       char exe_path[BCTEXTLEN];
+       sprintf(exe_path,"/proc/%d/file",getpid());
+       int len = readlink(exe_path, result, BCTEXTLEN-1);
+#endif
+
        if( len >= 0 ) {
                result[len] = 0;
                char *ptr = strrchr(result, '/');