/* See LICENSE file for copyright and license details. */ #include "common.h" #ifndef TEST int libexec_openat(struct libexec_command *cmd, int fd, int dirfd, const char *file, int flags, mode_t mode) { struct libexec_pluming pluming; if (fd < 0) { errno = EINVAL; return -1; } memset(&pluming, 0, sizeof(pluming)); pluming.fd = fd; pluming.type = LIBEXEC_PLUMING_OPENAT; pluming.target.dirfd = dirfd; pluming.target.flags = flags; pluming.target.mode = mode; pluming.target.file = NULL; if (file) { pluming.target.file = strdup(file); if (!pluming.target.file) return -1; } if (libexec_add_pluming(cmd, &pluming)) { free(pluming.target.file); return -1; } return 0; } #else LIBEXEC_CONST__ int main(void) {return 0;} /* TODO test */ #endif