aboutsummaryrefslogtreecommitdiff
path: root/archival/rpm.c
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2006-08-03 15:41:12 +0000
committerRob Landley <rob@landley.net>2006-08-03 15:41:12 +0000
commitd921b2ecc0d294ad4bf8c7458fc52a60c28727d2 (patch)
treee4a2769349867c441cf2983d83097bb66701a733 /archival/rpm.c
parent6dce0b6fa79f2d4bb7e9d90e1fbc0f6beb25f855 (diff)
downloadbusybox-w32-d921b2ecc0d294ad4bf8c7458fc52a60c28727d2.tar.gz
busybox-w32-d921b2ecc0d294ad4bf8c7458fc52a60c28727d2.tar.bz2
busybox-w32-d921b2ecc0d294ad4bf8c7458fc52a60c28727d2.zip
Remove bb_ prefixes from xfuncs.c (and a few other places), consolidate
things like xasprintf() into xfuncs.c, remove xprint_file_by_name() (it only had one user), clean up lots of #includes... General cleanup pass. What I've been doing for the last couple days. And it conflicts! I've removed httpd.c from this checkin due to somebody else touching that file. It builds for me. I have to catch a bus. (Now you know why I'm looking forward to Mercurial.)
Diffstat (limited to 'archival/rpm.c')
-rw-r--r--archival/rpm.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/archival/rpm.c b/archival/rpm.c
index 3b70439a7..7b27c0250 100644
--- a/archival/rpm.c
+++ b/archival/rpm.c
@@ -7,16 +7,6 @@
7 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 7 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
8 */ 8 */
9 9
10#include <stdio.h>
11#include <unistd.h>
12#include <signal.h>
13#include <stdlib.h>
14#include <fcntl.h>
15#include <netinet/in.h> /* For ntohl & htonl function */
16#include <string.h> /* For strncmp */
17#include <sys/mman.h> /* For mmap */
18#include <time.h> /* For ctime */
19
20#include "busybox.h" 10#include "busybox.h"
21#include "unarchive.h" 11#include "unarchive.h"
22 12
@@ -127,7 +117,7 @@ int rpm_main(int argc, char **argv)
127 117
128 if (optind == argc) bb_show_usage(); 118 if (optind == argc) bb_show_usage();
129 while (optind < argc) { 119 while (optind < argc) {
130 rpm_fd = bb_xopen(argv[optind], O_RDONLY); 120 rpm_fd = xopen(argv[optind], O_RDONLY);
131 mytags = rpm_gettags(rpm_fd, (int *) &tagcount); 121 mytags = rpm_gettags(rpm_fd, (int *) &tagcount);
132 offset = lseek(rpm_fd, 0, SEEK_CUR); 122 offset = lseek(rpm_fd, 0, SEEK_CUR);
133 if (!mytags) { printf("Error reading rpm header\n"); exit(-1); } 123 if (!mytags) { printf("Error reading rpm header\n"); exit(-1); }
@@ -198,7 +188,7 @@ void extract_cpio_gz(int fd) {
198 bb_error_msg_and_die("Invalid gzip magic"); 188 bb_error_msg_and_die("Invalid gzip magic");
199 } 189 }
200 check_header_gzip(archive_handle->src_fd); 190 check_header_gzip(archive_handle->src_fd);
201 bb_xchdir("/"); // Install RPM's to root 191 xchdir("/"); // Install RPM's to root
202 192
203 archive_handle->src_fd = open_transformer(archive_handle->src_fd, inflate_gunzip); 193 archive_handle->src_fd = open_transformer(archive_handle->src_fd, inflate_gunzip);
204 archive_handle->offset = 0; 194 archive_handle->offset = 0;
@@ -302,7 +292,7 @@ void fileaction_dobackup(char *filename, int fileref)
302 if (rpm_getint(RPMTAG_FILEFLAGS, fileref) & RPMFILE_CONFIG) { /* Only need to backup config files */ 292 if (rpm_getint(RPMTAG_FILEFLAGS, fileref) & RPMFILE_CONFIG) { /* Only need to backup config files */
303 stat_res = lstat (filename, &oldfile); 293 stat_res = lstat (filename, &oldfile);
304 if (stat_res == 0 && S_ISREG(oldfile.st_mode)) { /* File already exists - really should check MD5's etc to see if different */ 294 if (stat_res == 0 && S_ISREG(oldfile.st_mode)) { /* File already exists - really should check MD5's etc to see if different */
305 newname = bb_xstrdup(filename); 295 newname = xstrdup(filename);
306 newname = strcat(newname, ".rpmorig"); 296 newname = strcat(newname, ".rpmorig");
307 copy_file(filename, newname, FILEUTILS_RECUR | FILEUTILS_PRESERVE_STATUS); 297 copy_file(filename, newname, FILEUTILS_RECUR | FILEUTILS_PRESERVE_STATUS);
308 remove_file(filename, FILEUTILS_RECUR | FILEUTILS_FORCE); 298 remove_file(filename, FILEUTILS_RECUR | FILEUTILS_FORCE);
@@ -328,7 +318,7 @@ void loop_through_files(int filetag, void (*fileaction)(char *filename, int file
328{ 318{
329 int count = 0; 319 int count = 0;
330 while (rpm_getstring(filetag, count)) { 320 while (rpm_getstring(filetag, count)) {
331 char * filename = bb_xasprintf("%s%s", 321 char * filename = xasprintf("%s%s",
332 rpm_getstring(RPMTAG_DIRNAMES, rpm_getint(RPMTAG_DIRINDEXES, 322 rpm_getstring(RPMTAG_DIRNAMES, rpm_getint(RPMTAG_DIRINDEXES,
333 count)), rpm_getstring(RPMTAG_BASENAMES, count)); 323 count)), rpm_getstring(RPMTAG_BASENAMES, count));
334 fileaction(filename, count++); 324 fileaction(filename, count++);