+ changed a static array (FileList) into a dynamically allocated one

in an attempt to make the .bss section smaller.
This commit is contained in:
John Beppu 2000-03-08 00:14:35 +00:00
parent 2ac2fae728
commit 692a4502b0
2 changed files with 18 additions and 4 deletions

View File

@ -23,6 +23,7 @@
*/ */
#include "internal.h" #include "internal.h"
#include <errno.h>
#include <stdio.h> #include <stdio.h>
static const char tee_usage[] = static const char tee_usage[] =
@ -38,7 +39,7 @@ static const char tee_usage[] =
/* FileList _______________________________________________________________ */ /* FileList _______________________________________________________________ */
#define FL_MAX 1024 #define FL_MAX 1024
static FILE *FileList[FL_MAX]; static FILE **FileList;
static int FL_end; static int FL_end;
typedef void (FL_Function) (FILE * file, char c); typedef void (FL_Function) (FILE * file, char c);
@ -99,6 +100,11 @@ int tee_main(int argc, char **argv)
} }
/* init FILE pointers */ /* init FILE pointers */
FileList = calloc(FL_MAX, sizeof(FILE*));
if (!FileList) {
fprintf(stderr, "tee: %s\n", strerror(errno));
exit(1);
}
FL_end = 0; FL_end = 0;
FileList[0] = stdout; FileList[0] = stdout;
for (; i < argc; i++) { for (; i < argc; i++) {
@ -119,7 +125,8 @@ int tee_main(int argc, char **argv)
/* clean up */ /* clean up */
FL_apply(tee_fclose, 0); FL_apply(tee_fclose, 0);
free(FileList);
exit(0); 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 $ */

11
tee.c
View File

@ -23,6 +23,7 @@
*/ */
#include "internal.h" #include "internal.h"
#include <errno.h>
#include <stdio.h> #include <stdio.h>
static const char tee_usage[] = static const char tee_usage[] =
@ -38,7 +39,7 @@ static const char tee_usage[] =
/* FileList _______________________________________________________________ */ /* FileList _______________________________________________________________ */
#define FL_MAX 1024 #define FL_MAX 1024
static FILE *FileList[FL_MAX]; static FILE **FileList;
static int FL_end; static int FL_end;
typedef void (FL_Function) (FILE * file, char c); typedef void (FL_Function) (FILE * file, char c);
@ -99,6 +100,11 @@ int tee_main(int argc, char **argv)
} }
/* init FILE pointers */ /* init FILE pointers */
FileList = calloc(FL_MAX, sizeof(FILE*));
if (!FileList) {
fprintf(stderr, "tee: %s\n", strerror(errno));
exit(1);
}
FL_end = 0; FL_end = 0;
FileList[0] = stdout; FileList[0] = stdout;
for (; i < argc; i++) { for (; i < argc; i++) {
@ -119,7 +125,8 @@ int tee_main(int argc, char **argv)
/* clean up */ /* clean up */
FL_apply(tee_fclose, 0); FL_apply(tee_fclose, 0);
free(FileList);
exit(0); 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 $ */