From 7d9e80aa6d1ce7df0efe578afa51390e74a4cebf Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu <randrianasulu@gmail.com>
Date: Mon, 28 Mar 2022 02:40:13 +0300
Subject: [PATCH 11/17] freebsd in file.C

---
 cinelerra-5.1/cinelerra/file.C | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/cinelerra-5.1/cinelerra/file.C b/cinelerra-5.1/cinelerra/file.C
index 03941d9a..33cc7e8b 100644
--- a/cinelerra-5.1/cinelerra/file.C
+++ b/cinelerra-5.1/cinelerra/file.C
@@ -1620,7 +1620,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, '/');
-- 
2.35.1

