1#include "fdop.h"
2#include <errno.h>
3#include <spawn.h>
4#include <stdlib.h>
5
6int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t* fa, int srcfd, int fd) {
7    struct fdop* op = malloc(sizeof *op);
8    if (!op)
9        return ENOMEM;
10    op->cmd = FDOP_DUP2;
11    op->srcfd = srcfd;
12    op->fd = fd;
13    if ((op->next = fa->__actions))
14        op->next->prev = op;
15    op->prev = 0;
16    fa->__actions = op;
17    return 0;
18}
19