src/core/model/system-path.cc
changeset 7485 9bec9af5e3c8
parent 7379 ff0d074f885a
child 7515 c741ddb5f311
--- a/src/core/model/system-path.cc	Fri Sep 16 11:22:52 2011 -0400
+++ b/src/core/model/system-path.cc	Fri Sep 16 13:45:52 2011 -0700
@@ -20,6 +20,11 @@
 #include <mach-o/dyld.h>
 #endif /* __APPLE__ */
 
+#ifdef __FreeBSD__
+#include <sys/types.h>
+#include <sys/sysctl.h>
+#endif
+
 
 #if defined (__win32__)
 #define SYSTEM_PATH_SEP "\\"
@@ -110,6 +115,20 @@
     filename = buffer;
     free (buffer);
   } 
+#elif defined (__FreeBSD__)
+  {
+    int     mib[4];
+    size_t  bufSize = 1024;
+    char   *buf = (char *) malloc(bufSize);
+
+    mib[0] = CTL_KERN;
+    mib[1] = KERN_PROC;
+    mib[2] = KERN_PROC_PATHNAME;
+    mib[3] = -1;
+
+    sysctl(mib, 4, buf, &bufSize, NULL, 0);
+    filename = buf;
+  }
 #endif
     return Dirname (filename);
 }