icetime: Add proc_self_dirname for Haiku

This commit is contained in:
Alexander von Gluck 2024-07-26 16:05:23 -05:00
parent 738af82290
commit af77423f39
1 changed files with 20 additions and 0 deletions

View File

@ -32,6 +32,10 @@
# include <unistd.h>
#endif
#ifdef __HAIKU__
# include <image.h>
#endif
#if defined(__FreeBSD__) || defined(__NetBSD__)
# include <sys/sysctl.h>
#endif
@ -51,6 +55,22 @@ std::string proc_self_dirname()
buflen--;
return std::string(path, buflen);
}
#elif defined(__HAIKU__)
std::string proc_self_dirname()
{
std::string path;
int32 cookie = 0;
image_info info;
while (get_next_image_info(B_CURRENT_TEAM, &cookie, &info) == B_OK) {
if (info.type == B_APP_IMAGE) {
path.assign(info.name);
return path;
}
}
fprintf(stderr, "fatal error: unable to get self dirname!");
exit(EXIT_FAILURE);
}
#elif defined(__FreeBSD__) || defined(__NetBSD__)
std::string proc_self_dirname()
{