aboutsummaryrefslogtreecommitdiff
path: root/archival
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2021-09-17 01:13:58 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2021-09-17 01:18:31 +0200
commit59ac467dc6429a48522ef7fbe40fcd819563e49a (patch)
tree4b6af971b0ffc516294ff35ba7b5c1e99c6eadae /archival
parent4958c18134eb7ad169cdaf22a9ad957ad4f4858c (diff)
downloadbusybox-w32-59ac467dc6429a48522ef7fbe40fcd819563e49a.tar.gz
busybox-w32-59ac467dc6429a48522ef7fbe40fcd819563e49a.tar.bz2
busybox-w32-59ac467dc6429a48522ef7fbe40fcd819563e49a.zip
libbb: eliminate a static data array in bb_mode_string()
function old new delta print_stat 861 869 +8 header_verbose_list_ar 73 77 +4 display_single 975 979 +4 header_verbose_list 237 239 +2 bb_mode_string 124 115 -9 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/1 up/down: 18/-9) Total: 9 bytes text data bss dec hex filename 1043136 559 5052 1048747 1000ab busybox_old 1043153 559 5020 1048732 10009c busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'archival')
-rw-r--r--archival/ar.c3
-rw-r--r--archival/libarchive/header_verbose_list.c5
2 files changed, 5 insertions, 3 deletions
diff --git a/archival/ar.c b/archival/ar.c
index 71f949e79..320cbae72 100644
--- a/archival/ar.c
+++ b/archival/ar.c
@@ -196,9 +196,10 @@ static int write_ar_archive(archive_handle_t *handle)
196 196
197static void FAST_FUNC header_verbose_list_ar(const file_header_t *file_header) 197static void FAST_FUNC header_verbose_list_ar(const file_header_t *file_header)
198{ 198{
199 const char *mode = bb_mode_string(file_header->mode); 199 char mode[12];
200 char *mtime; 200 char *mtime;
201 201
202 bb_mode_string(mode, file_header->mode);
202 mtime = ctime(&file_header->mtime); 203 mtime = ctime(&file_header->mtime);
203 mtime[16] = ' '; 204 mtime[16] = ' ';
204 memmove(&mtime[17], &mtime[20], 4); 205 memmove(&mtime[17], &mtime[20], 4);
diff --git a/archival/libarchive/header_verbose_list.c b/archival/libarchive/header_verbose_list.c
index be5140f8b..a575a08a0 100644
--- a/archival/libarchive/header_verbose_list.c
+++ b/archival/libarchive/header_verbose_list.c
@@ -9,6 +9,7 @@ void FAST_FUNC header_verbose_list(const file_header_t *file_header)
9{ 9{
10 struct tm tm_time; 10 struct tm tm_time;
11 struct tm *ptm = &tm_time; //localtime(&file_header->mtime); 11 struct tm *ptm = &tm_time; //localtime(&file_header->mtime);
12 char modestr[12];
12 13
13#if ENABLE_FEATURE_TAR_UNAME_GNAME 14#if ENABLE_FEATURE_TAR_UNAME_GNAME
14 char uid[sizeof(int)*3 + 2]; 15 char uid[sizeof(int)*3 + 2];
@@ -29,7 +30,7 @@ void FAST_FUNC header_verbose_list(const file_header_t *file_header)
29 group = utoa(file_header->gid); 30 group = utoa(file_header->gid);
30 } 31 }
31 printf("%s %s/%s %9"OFF_FMT"u %4u-%02u-%02u %02u:%02u:%02u %s", 32 printf("%s %s/%s %9"OFF_FMT"u %4u-%02u-%02u %02u:%02u:%02u %s",
32 bb_mode_string(file_header->mode), 33 bb_mode_string(modestr, file_header->mode),
33 user, 34 user,
34 group, 35 group,
35 file_header->size, 36 file_header->size,
@@ -46,7 +47,7 @@ void FAST_FUNC header_verbose_list(const file_header_t *file_header)
46 localtime_r(&file_header->mtime, ptm); 47 localtime_r(&file_header->mtime, ptm);
47 48
48 printf("%s %u/%u %9"OFF_FMT"u %4u-%02u-%02u %02u:%02u:%02u %s", 49 printf("%s %u/%u %9"OFF_FMT"u %4u-%02u-%02u %02u:%02u:%02u %s",
49 bb_mode_string(file_header->mode), 50 bb_mode_string(modestr, file_header->mode),
50 (unsigned)file_header->uid, 51 (unsigned)file_header->uid,
51 (unsigned)file_header->gid, 52 (unsigned)file_header->gid,
52 file_header->size, 53 file_header->size,