From 1ab1ac710b440b016419cf06e9f18a2df979a24e Mon Sep 17 00:00:00 2001 From: Frederic Lepied Date: Fri, 18 Feb 2000 17:19:40 +0000 Subject: * close files ! * don't dup many times. --- rpm2header.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'rpm2header.c') diff --git a/rpm2header.c b/rpm2header.c index 32ace46..0cf6d6b 100644 --- a/rpm2header.c +++ b/rpm2header.c @@ -23,19 +23,24 @@ int_32 FD_size(FD_t fd) { int main(int argc, char **argv) { int i; + FD_t fout; if (argc < 2) { fprintf(stderr, "usage: rpm2header \n"); exit(1); } + fout = fdDup(1 /*stdout*/); + for (i = 1; i < argc; i++) { FD_t fd; Header h; int isSource; int_32 size; const char *name = basename(argv[i]); - + + fprintf(stderr, "%s\n", argv[i]); + if (!(fd = fdOpen(argv[i], O_RDONLY, 0666))) { perror("open"); exit(1); @@ -70,9 +75,10 @@ int main(int argc, char **argv) { headerRemoveEntry(h, RPMTAG_VERIFYSCRIPT); headerAddEntry(h, FILENAME_TAG, RPM_STRING_TYPE, name, 1); headerAddEntry(h, FILESIZE_TAG, RPM_INT32_TYPE, &size, 1); - headerWrite(fdDup(1 /*stdout*/), h, HEADER_MAGIC_YES); + headerWrite(fout, h, HEADER_MAGIC_YES); headerFree(h); } + fdClose(fd); } return 0; } -- cgit v1.2.1