diff options
| author | Mosder <git@mosder.eu> | 2026-10-20 14:44:33 +0200 |
|---|---|---|
| committer | Mosder <git@mosder.eu> | 2026-10-20 14:44:33 +0200 |
| commit | fc5f5f1f58542500734841822768267d0ece2456 (patch) | |
| tree | 0501e3d718338094f58f5e6af1232ee4900372b2 /include | |
| parent | ec315985c9f51c932b1177539c43a024bf58207d (diff) | |
feat: improved support for windows. added gating behind _WIN32 to use _ prefixed versions of functions and made it work (with limited functionality) on machines without fileno
Diffstat (limited to 'include')
| -rw-r--r-- | include/moslib/safe.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/include/moslib/safe.h b/include/moslib/safe.h index a606f17..e9fb7bb 100644 --- a/include/moslib/safe.h +++ b/include/moslib/safe.h @@ -4,9 +4,14 @@ #include <stddef.h> #include <stdio.h> -#include <unistd.h> #include <sys/types.h> +#ifndef _WIN32 +#include <unistd.h> +#else +#include <io.h> +#endif + #ifndef MOSLIB_SAFE_H #define MOSLIB_SAFE_H @@ -19,8 +24,11 @@ #define safe_tmpfile mos_safe_tmpfile #define safe_dup mos_safe_dup #define safe_dup2 mos_safe_dup2 + +#ifndef _WIN32 #define safe_fork mos_safe_fork #define safe_pipe mos_safe_pipe +#endif #endif // MOS_FORCE_PREFIXES @@ -41,8 +49,11 @@ typedef struct { #define mos_safe_tmpfile() mos_safe_tmpfile_fn(mos_err_info) #define mos_safe_dup(fd) mos_safe_dup_fn(fd, mos_err_info) #define mos_safe_dup2(fd, fd2) mos_safe_dup2_fn(fd, fd2, mos_err_info) + +#ifndef _WIN32 #define mos_safe_fork() mos_safe_fork_fn(mos_err_info) #define mos_safe_pipe(fd) mos_safe_pipe_fn(fd, mos_err_info) +#endif // Function prototypes for macros extern void *mos_safe_malloc_fn(size_t size, MosSafeErrInfo info); @@ -52,7 +63,10 @@ extern FILE *mos_safe_fopen_fn(const char *path, const char *mode, MosSafeErrInf extern FILE *mos_safe_tmpfile_fn(MosSafeErrInfo info); extern int mos_safe_dup_fn(int fd, MosSafeErrInfo info); extern int mos_safe_dup2_fn(int fd, int fd2, MosSafeErrInfo info); + +#ifndef _WIN32 extern pid_t mos_safe_fork_fn(MosSafeErrInfo info); extern int mos_safe_pipe_fn(int fd[2], MosSafeErrInfo info); +#endif #endif // MOSLIB_SAFE_H |
