diff options
author | Ron Yorston <rmy@pobox.com> | 2021-01-14 13:28:49 +0000 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2021-01-14 13:28:49 +0000 |
commit | 89963b524d211e1aec12b72b3725be05ee95c8cf (patch) | |
tree | 48590aef62b7ee7686b7898256f29def8d9c50b9 /archival/rpm.c | |
parent | 9aa5a829070392c2ac6494d0c4e674c0c2bc7dab (diff) | |
parent | 2b7c1aa92c68524559a2067609d09309d5c09adc (diff) | |
download | busybox-w32-89963b524d211e1aec12b72b3725be05ee95c8cf.tar.gz busybox-w32-89963b524d211e1aec12b72b3725be05ee95c8cf.tar.bz2 busybox-w32-89963b524d211e1aec12b72b3725be05ee95c8cf.zip |
Merge branch 'busybox' into merge
Diffstat (limited to 'archival/rpm.c')
-rw-r--r-- | archival/rpm.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/archival/rpm.c b/archival/rpm.c index 0d8f641b9..63d13d0e1 100644 --- a/archival/rpm.c +++ b/archival/rpm.c | |||
@@ -83,7 +83,9 @@ struct globals { | |||
83 | void *map; | 83 | void *map; |
84 | rpm_index *mytags; | 84 | rpm_index *mytags; |
85 | int tagcount; | 85 | int tagcount; |
86 | unsigned mapsize, pagesize; | 86 | unsigned mapsize; |
87 | IF_VARIABLE_ARCH_PAGESIZE(unsigned pagesize;) | ||
88 | #define G_pagesize cached_pagesize(G.pagesize) | ||
87 | } FIX_ALIASING; | 89 | } FIX_ALIASING; |
88 | #define G (*(struct globals*)bb_common_bufsiz1) | 90 | #define G (*(struct globals*)bb_common_bufsiz1) |
89 | #define INIT_G() do { setup_common_bufsiz(); } while (0) | 91 | #define INIT_G() do { setup_common_bufsiz(); } while (0) |
@@ -142,11 +144,11 @@ static int rpm_gettags(const char *filename) | |||
142 | 144 | ||
143 | #if !ENABLE_PLATFORM_MINGW32 | 145 | #if !ENABLE_PLATFORM_MINGW32 |
144 | /* Map the store */ | 146 | /* Map the store */ |
145 | storepos = (storepos + G.pagesize) & -(int)G.pagesize; | 147 | storepos = (storepos + G_pagesize) & -(int)G_pagesize; |
146 | /* remember size for munmap */ | 148 | /* remember size for munmap */ |
147 | G.mapsize = storepos; | 149 | G.mapsize = storepos; |
148 | /* some NOMMU systems prefer MAP_PRIVATE over MAP_SHARED */ | 150 | /* some NOMMU systems prefer MAP_PRIVATE over MAP_SHARED */ |
149 | G.map = mmap(0, storepos, PROT_READ, MAP_PRIVATE, fd, 0); | 151 | G.map = mmap_read(fd, storepos); |
150 | if (G.map == MAP_FAILED) | 152 | if (G.map == MAP_FAILED) |
151 | bb_perror_msg_and_die("mmap '%s'", filename); | 153 | bb_perror_msg_and_die("mmap '%s'", filename); |
152 | #else | 154 | #else |
@@ -368,7 +370,7 @@ int rpm_main(int argc, char **argv) | |||
368 | int opt, func = 0; | 370 | int opt, func = 0; |
369 | 371 | ||
370 | INIT_G(); | 372 | INIT_G(); |
371 | G.pagesize = getpagesize(); | 373 | INIT_PAGESIZE(G.pagesize); |
372 | 374 | ||
373 | while ((opt = getopt(argc, argv, "iqpldc")) != -1) { | 375 | while ((opt = getopt(argc, argv, "iqpldc")) != -1) { |
374 | switch (opt) { | 376 | switch (opt) { |
@@ -535,7 +537,7 @@ int rpm2cpio_main(int argc UNUSED_PARAM, char **argv) | |||
535 | int rpm_fd; | 537 | int rpm_fd; |
536 | 538 | ||
537 | INIT_G(); | 539 | INIT_G(); |
538 | G.pagesize = getpagesize(); | 540 | INIT_PAGESIZE(G.pagesize); |
539 | 541 | ||
540 | rpm_fd = rpm_gettags(argv[1]); | 542 | rpm_fd = rpm_gettags(argv[1]); |
541 | 543 | ||