home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / misc / src / rpm / tools / rpmarchive.c < prev    next >
C/C++ Source or Header  |  1997-09-17  |  665b  |  36 lines

  1. /* rpmarchive: spit out the main archive portion of a package */
  2.  
  3. #include <stdio.h>
  4. #include <unistd.h>
  5. #include <fcntl.h>
  6.  
  7. #include "rpmlead.h"
  8. #include "signature.h"
  9. #include "header.h"
  10.  
  11. int main(int argc, char **argv)
  12. {
  13.     int fd;
  14.     char buffer[1024];
  15.     struct rpmlead lead;
  16.     Header hd;
  17.     int ct;
  18.     
  19.     if (argc == 1) {
  20.     fd = 0;
  21.     } else {
  22.     fd = open(argv[1], O_RDONLY, 0644);
  23.     }
  24.  
  25.     readLead(fd, &lead);
  26.     rpmReadSignature(fd, NULL, lead.signature_type);
  27.     hd = headerRead(fd, (lead.major >= 3) ?
  28.             HEADER_MAGIC_YES : HEADER_MAGIC_NO);
  29.  
  30.     while ((ct = read(fd, &buffer, 1024))) {
  31.     write(1, &buffer, ct);
  32.     }
  33.     
  34.     return 0;
  35. }
  36.