mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:57:35 +00:00
AK: Shim open_with_path_length() for non-Serenity builds.
This is pretty ugly but I don't want to *not* use open_with_path_length() so let's just shim it.
This commit is contained in:
parent
7c8debfe46
commit
1bd3fca585
1 changed files with 17 additions and 0 deletions
|
@ -24,4 +24,21 @@
|
||||||
|
|
||||||
#ifndef __serenity__
|
#ifndef __serenity__
|
||||||
#define PAGE_SIZE sysconf(_SC_PAGESIZE)
|
#define PAGE_SIZE sysconf(_SC_PAGESIZE)
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
inline int open_with_path_length(const char* path, size_t path_length, int options, mode_t mode)
|
||||||
|
{
|
||||||
|
auto* tmp = (char*)malloc(path_length + 1);
|
||||||
|
memcpy(tmp, path, path_length);
|
||||||
|
tmp[path_length] = '\0';
|
||||||
|
int fd = open(tmp, options, mode);
|
||||||
|
int saved_errno = errno;
|
||||||
|
free(tmp);
|
||||||
|
errno = saved_errno;
|
||||||
|
return fd;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue