mirror of https://github.com/YosysHQ/icestorm.git
Tweak the FreeBSD version of proc_self_dirname() to work on NetBSD
and use it.
This commit is contained in:
parent
1a40ae75d4
commit
98d4c3d7c3
|
|
@ -32,7 +32,7 @@
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __FreeBSD__
|
#if defined(__FreeBSD__) || defined(__NetBSD__)
|
||||||
# include <sys/sysctl.h>
|
# include <sys/sysctl.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -51,10 +51,14 @@ std::string proc_self_dirname()
|
||||||
buflen--;
|
buflen--;
|
||||||
return std::string(path, buflen);
|
return std::string(path, buflen);
|
||||||
}
|
}
|
||||||
#elif defined(__FreeBSD__)
|
#elif defined(__FreeBSD__) || defined(__NetBSD__)
|
||||||
std::string proc_self_dirname()
|
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};
|
int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
|
||||||
|
#endif
|
||||||
size_t buflen;
|
size_t buflen;
|
||||||
char *buffer;
|
char *buffer;
|
||||||
std::string path;
|
std::string path;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue