mirror of
https://github.com/sheumann/hush.git
synced 2024-12-22 14:30:31 +00:00
uudecode: nuke duplicate base64_table[]. saves 65 bytes
This commit is contained in:
parent
745119605e
commit
aa198dd39c
@ -68,8 +68,6 @@ static void read_stduu(FILE *src_stream, FILE *dst_stream)
|
|||||||
|
|
||||||
static void read_base64(FILE *src_stream, FILE *dst_stream)
|
static void read_base64(FILE *src_stream, FILE *dst_stream)
|
||||||
{
|
{
|
||||||
static const char base64_table[] =
|
|
||||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n";
|
|
||||||
int term_count = 1;
|
int term_count = 1;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
@ -80,17 +78,20 @@ static void read_base64(FILE *src_stream, FILE *dst_stream)
|
|||||||
char *table_ptr;
|
char *table_ptr;
|
||||||
int ch;
|
int ch;
|
||||||
|
|
||||||
/* Get next _valid_ character */
|
/* Get next _valid_ character.
|
||||||
|
* global vector bb_uuenc_tbl_base64[] contains this string:
|
||||||
|
* "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n"
|
||||||
|
*/
|
||||||
do {
|
do {
|
||||||
ch = fgetc(src_stream);
|
ch = fgetc(src_stream);
|
||||||
if (ch == EOF) {
|
if (ch == EOF) {
|
||||||
bb_error_msg_and_die("short file");
|
bb_error_msg_and_die("short file");
|
||||||
}
|
}
|
||||||
table_ptr = strchr(base64_table, ch);
|
table_ptr = strchr(bb_uuenc_tbl_base64, ch);
|
||||||
} while (table_ptr == NULL);
|
} while (table_ptr == NULL);
|
||||||
|
|
||||||
/* Convert encoded charcter to decimal */
|
/* Convert encoded character to decimal */
|
||||||
ch = table_ptr - base64_table;
|
ch = table_ptr - bb_uuenc_tbl_base64;
|
||||||
|
|
||||||
if (*table_ptr == '=') {
|
if (*table_ptr == '=') {
|
||||||
if (term_count == 0) {
|
if (term_count == 0) {
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include "libbb.h"
|
#include "libbb.h"
|
||||||
|
|
||||||
/* Conversion table. for base 64 */
|
/* Conversion table. for base 64 */
|
||||||
const char bb_uuenc_tbl_base64[65] = {
|
const char bb_uuenc_tbl_base64[65 + 2] = {
|
||||||
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
|
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
|
||||||
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
|
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
|
||||||
'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
|
'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
|
||||||
@ -17,7 +17,8 @@ const char bb_uuenc_tbl_base64[65] = {
|
|||||||
'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
|
'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
|
||||||
'w', 'x', 'y', 'z', '0', '1', '2', '3',
|
'w', 'x', 'y', 'z', '0', '1', '2', '3',
|
||||||
'4', '5', '6', '7', '8', '9', '+', '/',
|
'4', '5', '6', '7', '8', '9', '+', '/',
|
||||||
'=' /* termination character */
|
'=' /* termination character */,
|
||||||
|
'\n', '\0' /* needed for uudecode.c */
|
||||||
};
|
};
|
||||||
|
|
||||||
const char bb_uuenc_tbl_std[65] = {
|
const char bb_uuenc_tbl_std[65] = {
|
||||||
|
Loading…
Reference in New Issue
Block a user