Index: fusl/src/process/posix_spawn_file_actions_adddup2.c |
diff --git a/fusl/src/process/posix_spawn_file_actions_adddup2.c b/fusl/src/process/posix_spawn_file_actions_adddup2.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0367498fd4f36ca9fe5d0ae12ec65fc15936bc5b |
--- /dev/null |
+++ b/fusl/src/process/posix_spawn_file_actions_adddup2.c |
@@ -0,0 +1,17 @@ |
+#include <spawn.h> |
+#include <stdlib.h> |
+#include <errno.h> |
+#include "fdop.h" |
+ |
+int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *fa, int srcfd, int fd) |
+{ |
+ struct fdop *op = malloc(sizeof *op); |
+ if (!op) return ENOMEM; |
+ op->cmd = FDOP_DUP2; |
+ op->srcfd = srcfd; |
+ op->fd = fd; |
+ if ((op->next = fa->__actions)) op->next->prev = op; |
+ op->prev = 0; |
+ fa->__actions = op; |
+ return 0; |
+} |