diff options
author | "Vladimir N. Oleynik" | 2005-10-15 10:23:55 +0000 |
---|---|---|
committer | "Vladimir N. Oleynik" | 2005-10-15 10:23:55 +0000 |
commit | 6f347ef9dc540aaea025c0575e586817cd85cc8e (patch) | |
tree | 5fc98f67e92bb2eca75d33940a4f8698bb216f3a /coreutils/tr.c | |
parent | 84e7511607600c2c7b9e7c4087897d44cc4668c4 (diff) | |
download | busybox-6f347ef9dc540aaea025c0575e586817cd85cc8e.zip busybox-6f347ef9dc540aaea025c0575e586817cd85cc8e.tar.gz |
common BUFSIZ BSS buffer, small reduce code, data and bss
Diffstat (limited to 'coreutils/tr.c')
-rw-r--r-- | coreutils/tr.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/coreutils/tr.c b/coreutils/tr.c index 6e3f97b..e9eca4c 100644 --- a/coreutils/tr.c +++ b/coreutils/tr.c @@ -38,10 +38,11 @@ static char com_fl, del_fl, sq_fl; static short in_index, out_index; /* these last are pointers to static buffers declared in tr_main */ -static unsigned char *poutput, *pinput; +static unsigned char *poutput; static unsigned char *pvector; static char *pinvec, *poutvec; +#define input bb_common_bufsiz1 static void convert(void) { @@ -51,14 +52,14 @@ static void convert(void) for (;;) { if (in_index == read_chars) { - if ((read_chars = read(0, (char *) pinput, BUFSIZ)) <= 0) { + if ((read_chars = read(0, input, BUFSIZ)) <= 0) { if (write(1, (char *) poutput, out_index) != out_index) bb_error_msg(bb_msg_write_error); exit(0); } in_index = 0; } - c = pinput[in_index++]; + c = input[in_index++]; coded = pvector[c]; if (del_fl && pinvec[c]) continue; @@ -208,14 +209,12 @@ extern int tr_main(int argc, char **argv) int idx = 1; int i; RESERVE_CONFIG_BUFFER(output, BUFSIZ); - RESERVE_CONFIG_BUFFER(input, BUFSIZ); RESERVE_CONFIG_UBUFFER(vector, ASCII+1); RESERVE_CONFIG_BUFFER(invec, ASCII+1); RESERVE_CONFIG_BUFFER(outvec, ASCII+1); /* ... but make them available globally */ poutput = output; - pinput = input; pvector = vector; pinvec = invec; poutvec = outvec; |