From 3502b31fb0b7f19fa681d4444f1e6b97d5be0cea Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Tue, 23 Dec 2025 18:32:49 +0000 Subject: Make fd_sanitize() a real function --- src/include/skalibs/djbunix.h | 2 +- src/libstddjb/fd_sanitize.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 src/libstddjb/fd_sanitize.c (limited to 'src') diff --git a/src/include/skalibs/djbunix.h b/src/include/skalibs/djbunix.h index 0304ce8..29e37d2 100644 --- a/src/include/skalibs/djbunix.h +++ b/src/include/skalibs/djbunix.h @@ -31,7 +31,7 @@ extern int fd_sync (int) ; extern off_t fd_cat (int, int) ; extern off_t fd_catn (int, int, off_t) ; extern int fd_ensure_open (int, int) ; -#define fd_sanitize() (fd_ensure_open(0, 0) && fd_ensure_open(1, 1) && fd_ensure_open(2, 1)) +extern void fd_sanitize (void) ; extern void fd_shutdown (int, int) ; extern int fd_lock (int, int, int) ; diff --git a/src/libstddjb/fd_sanitize.c b/src/libstddjb/fd_sanitize.c new file mode 100644 index 0000000..d9349cc --- /dev/null +++ b/src/libstddjb/fd_sanitize.c @@ -0,0 +1,13 @@ +/* ISC license. */ + +#include + +#include +#include + +void fd_sanitize (void) +{ + if (!fd_ensure_open(2, 1)) _exit(111) ; + if (!fd_ensure_open(1, 1)) strerr_diefu3sys(111, "ensure std", "out", " is open") ; + if (!fd_ensure_open(0, 0)) strerr_diefu3sys(111, "ensure std", "in", " is open") ; +} -- cgit v1.3.1