+ changed a static array (FileList) into a dynamically allocated one
authorJohn Beppu <beppu@lbox.org>
Wed, 8 Mar 2000 00:14:35 +0000 (00:14 -0000)
committerJohn Beppu <beppu@lbox.org>
Wed, 8 Mar 2000 00:14:35 +0000 (00:14 -0000)
  in an attempt to make the .bss section smaller.

coreutils/tee.c
tee.c

index 2f746f96d2c3dca1d7dbba32915a0d38502f8e6f..a3a1c8132b962f9b5e8e78a0433547875e8c1e6c 100644 (file)
@@ -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 $ */
diff --git a/tee.c b/tee.c
index 2f746f96d2c3dca1d7dbba32915a0d38502f8e6f..a3a1c8132b962f9b5e8e78a0433547875e8c1e6c 100644 (file)
--- a/tee.c
+++ b/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 $ */