diff options
Diffstat (limited to 'misc/dup2_inout.c')
| -rw-r--r-- | misc/dup2_inout.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/misc/dup2_inout.c b/misc/dup2_inout.c new file mode 100644 index 0000000..13132d8 --- /dev/null +++ b/misc/dup2_inout.c @@ -0,0 +1,13 @@ +#include <unistd.h> +#include <fcntl.h> + +void dup2_inout(char *file, int from, mode_t mode) /*EXTRACT_INCL*/ { + int to = open(file, mode); + if (to == from || to == -1) return; + while (1) { + dup2(to,from); + fcntl(from,F_SETFD,0); + if (from++ != 1) break; + } + close(to); +} |
