summaryrefslogtreecommitdiffhomepage
path: root/coreutils/tee.c
diff options
context:
space:
mode:
Diffstat (limited to 'coreutils/tee.c')
-rw-r--r--coreutils/tee.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/coreutils/tee.c b/coreutils/tee.c
index 2f746f96d..a3a1c8132 100644
--- a/coreutils/tee.c
+++ b/coreutils/tee.c
@@ -23,6 +23,7 @@
*/
#include "internal.h"
+#include <errno.h>
#include <stdio.h>
static const char tee_usage[] =
@@ -38,7 +39,7 @@ static const char tee_usage[] =
/* FileList _______________________________________________________________ */
#define FL_MAX 1024
-static FILE *FileList[FL_MAX];
+static FILE **FileList;
static int FL_end;
typedef void (FL_Function) (FILE * file, char c);
@@ -99,6 +100,11 @@ int tee_main(int argc, char **argv)
}
/* init FILE pointers */
+ FileList = calloc(FL_MAX, sizeof(FILE*));
+ if (!FileList) {
+ fprintf(stderr, "tee: %s\n", strerror(errno));
+ exit(1);
+ }
FL_end = 0;
FileList[0] = stdout;
for (; i < argc; i++) {
@@ -119,7 +125,8 @@ int tee_main(int argc, char **argv)
/* clean up */
FL_apply(tee_fclose, 0);
+ free(FileList);
exit(0);
}
-/* $Id: tee.c,v 1.6 2000/02/08 19:58:47 erik Exp $ */
+/* $Id: tee.c,v 1.7 2000/03/08 00:14:35 beppu Exp $ */