]> gitweb.factorcode.org Git - factor.git/blobdiff - vm/os-freebsd.cpp
audio.engine.test: cleanup using
[factor.git] / vm / os-freebsd.cpp
index 64c8ac19dabbf32ff4afe81b1c126b545ffad6bf..4948c053c773a8b190ce551bce5cf503c604443b 100644 (file)
@@ -1,39 +1,45 @@
 #include "master.hpp"
 
-namespace factor
-{
+#include <sys/types.h>
+#include <sys/sysctl.h>
+
+namespace factor {
+char *vm_saved_path;
+
+
 
 /* From SBCL */
 const char *vm_executable_path()
 {
-       char path[PATH_MAX + 1];
-
-       if (getosreldate() >= 600024)
-       {
-               /* KERN_PROC_PATHNAME is available */
-               size_t len = PATH_MAX + 1;
-               int mib[4];
-
-               mib[0] = CTL_KERN;
-               mib[1] = KERN_PROC;
-               mib[2] = KERN_PROC_PATHNAME;
-               mib[3] = -1;
-               if (sysctl(mib, 4, &path, &len, NULL, 0) != 0)
-                       return NULL;
-       }
-       else
-       {
-               int size;
-               size = readlink("/proc/curproc/file", path, sizeof(path) - 1);
-               if (size < 0)
-                       return NULL;
-               path[size] = '\0';
-       }
-
-       if(strcmp(path, "unknown") == 0)
-               return NULL;
-
-       return vm->safe_strdup(path);
+  char path[PATH_MAX + 1];
+
+  if (getosreldate() >= 600024)
+  {
+    /* KERN_PROC_PATHNAME is available */
+    size_t len = PATH_MAX + 1;
+    int mib[4];
+
+    mib[0] = CTL_KERN;
+    mib[1] = KERN_PROC;
+    mib[2] = KERN_PROC_PATHNAME;
+    mib[3] = -1;
+    if (sysctl(mib, 4, &path, &len, NULL, 0) != 0)
+      return NULL;
+  }
+  else
+  {
+    int size;
+    size = readlink("/proc/curproc/file", path, sizeof(path) - 1);
+    if (size < 0)
+      return NULL;
+    path[size] = '\0';
+  }
+
+  if(strcmp(path, "unknown") == 0)
+    return NULL;
+
+  return safe_strdup(path);
 }
 
+
 }