#include #include #include #include #include "fdop.h" int posix_spawn_file_actions_addchdir_np(posix_spawn_file_actions_t *restrict fa, const char *restrict path) { size_t len = strlen(path); if (__faexpand(fa, len + 1) != 0) return ENOMEM; fa->fa_ops[fa->fa_cnt++] = INT_MAX; fa->fa_ops[fa->fa_cnt++] = -FDOP_CHDIR; memcpy((posix_spawn_file_actions_t *)fa->fa_chain + 1, path, len + 1); return 0; }