diff options
| author | Jason Thorpe <thorpej@me.com> | 2024-03-02 18:06:27 -0800 |
|---|---|---|
| committer | Jason Thorpe <thorpej@me.com> | 2024-03-02 18:06:27 -0800 |
| commit | 98d4c3d7c38c46b198bf2832c1b1a7ead9ed640d (patch) | |
| tree | b6b3bc64b6b19c5f9bc506697495ee8b8fa7a025 | |
| parent | 1a40ae75d4eebee9cce73a2c4d634fd42ed0110f (diff) | |
Tweak the FreeBSD version of proc_self_dirname() to work on NetBSD
and use it.
| -rw-r--r-- | icetime/iceutil.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/icetime/iceutil.cc b/icetime/iceutil.cc index 440b9a8..c9075a4 100644 --- a/icetime/iceutil.cc +++ b/icetime/iceutil.cc @@ -32,7 +32,7 @@ # include <unistd.h> #endif -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) || defined(__NetBSD__) # include <sys/sysctl.h> #endif @@ -51,10 +51,14 @@ std::string proc_self_dirname() buflen--; return std::string(path, buflen); } -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined(__NetBSD__) std::string proc_self_dirname() { +#ifdef __NetBSD__ + int mib[4] = {CTL_KERN, KERN_PROC_ARGS, getpid(), KERN_PROC_PATHNAME}; +#else int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1}; +#endif size_t buflen; char *buffer; std::string path; |
