diff options
author | John Beppu <beppu@lbox.org> | 2000-03-08 03:14:35 +0300 |
---|---|---|
committer | John Beppu <beppu@lbox.org> | 2000-03-08 03:14:35 +0300 |
commit | 692a4502b0205f083855a102f906e206733b5b93 (patch) | |
tree | 5d90a36636f2c32495999c499808bb80ee0d58d2 | |
parent | 2ac2fae728cca8a535b29bdd2fa6899e6f4992f2 (diff) |
+ changed a static array (FileList) into a dynamically allocated one
in an attempt to make the .bss section smaller.
-rw-r--r-- | coreutils/tee.c | 11 | ||||
-rw-r--r-- | tee.c | 11 |
2 files changed, 18 insertions, 4 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 $ */ @@ -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 $ */ |