From 08d65b254e07d6e2af5e6ec47515efc8c3cb8bbd Mon Sep 17 00:00:00 2001 From: xfnw Date: Fri, 31 Dec 2021 16:59:25 -0500 Subject: [PATCH] fix file descriptor leak --- README.md | 6 ++++++ multif.c | 16 ++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..4f3bf89 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# multif + +a multiplexer for distributing lines over a +directory of files + + diff --git a/multif.c b/multif.c index 1d58b3d..6b8df10 100644 --- a/multif.c +++ b/multif.c @@ -23,17 +23,16 @@ int main(int argc, char *argv[]) char *directory = argv[1]; strcat(directory, "/"); + /* Scanning the in directory */ + if (NULL == (FD = opendir (argv[1]))) + { + fprintf(stderr, "Error : Failed to open input directory - %s\n", strerror(errno)); + + return 1; + } - //lineSize = getline(&line, &len, stdin); while (lineSize != -1) { - /* Scanning the in directory */ - if (NULL == (FD = opendir (argv[1]))) - { - fprintf(stderr, "Error : Failed to open input directory - %s\n", strerror(errno)); - - return 1; - } while ((in_file = readdir(FD))) { @@ -63,6 +62,7 @@ int main(int argc, char *argv[]) fclose(entry_file); free(line); } + rewinddir(FD); } return 0; }