/* Close the fd and set it to -1. This assert-crashes if fd == 0, and is a
no-op if fd == -1. Normally fd == 0 would happen only if an uninitialized
- fd is attempted to be closed, which is a bug. */
+ fd is attempted to be closed, which is a bug. Preserves original errno. */
void i_close_fd_path(int *fd, const char *path, const char *arg,
const char *func, const char *file, int line);
#define i_close_fd_path(fd, path) i_close_fd_path((fd), (path), #fd, __func__, __FILE__, __LINE__)