sys-file-reader: Omit @(#) from file strings in sfm_get_strings().
[pspp] / tests / libpspp / zip-test.c
index ab55c11070dda1fbf747495092f40e44a1ec954a..777b37a795259c2f4ca93062e8378d197cfd9140 100644 (file)
@@ -30,7 +30,6 @@
 #include <libpspp/str.h>
 
 #include <errno.h>
-#include "xalloc.h"
 \f
 /* Exit with a failure code.
    (Place a breakpoint on this function while debugging.) */
@@ -43,32 +42,32 @@ check_die (void)
 int
 main (int argc, char **argv)
 {
-  if ( argc < 4)
+  if (argc < 4)
     {
       fprintf (stderr, "Usage zip-test: {r|w} archive file0 file1 ... filen\n");
       check_die ();
     }
 
-  if ( 0 == strcmp ("w", argv[1]))
+  if (0 == strcmp ("w", argv[1]))
     {
       int i;
       struct zip_writer *zw = zip_writer_create (argv[2]);
       for (i = 3; i < argc; ++i)
        {
-         FILE *fp = fopen (argv[i], "r");
-         if (!fp ) check_die ();
+         FILE *fp = fopen (argv[i], "rb");
+         if (!fp) check_die ();
          zip_writer_add (zw, fp, argv[i]);
        }
       zip_writer_close (zw);
     }
-  else if ( 0  == strcmp ("r", argv[1]))
+  else if (0  == strcmp ("r", argv[1]))
     {
       const int BUFSIZE=256;
       char buf[BUFSIZE];
       int i;
       struct string str;
       struct zip_reader *zr = zip_reader_create (argv[2], &str);
-      if ( NULL == zr)
+      if (NULL == zr)
        {
          fprintf (stderr, "Could not create zip reader: %s\n", ds_cstr (&str));
          check_die ();
@@ -77,15 +76,15 @@ main (int argc, char **argv)
        {
          int x = 0;
          struct zip_member *zm ;
-         FILE *fp = fopen (argv[i], "w");
-         if ( NULL == fp)
+         FILE *fp = fopen (argv[i], "wb");
+         if (NULL == fp)
            {
              int e = errno;
              fprintf (stderr, "Could not create file %s: %s\n", argv[i], strerror(e));
              check_die ();
            }
          zm = zip_member_open (zr, argv[i]);
-         if ( NULL == zm)
+         if (NULL == zm)
            {
              fprintf (stderr, "Could not open zip member %s from archive: %s\n",
                       argv[i], ds_cstr (&str));
@@ -96,18 +95,17 @@ main (int argc, char **argv)
            {
              fwrite (buf, x, 1, fp);
            }
+          zip_member_finish (zm);
          fclose (fp);
-         if ( x < 0)
+         if (x < 0)
            {
              fprintf (stderr, "Unzip failed: %s\n", ds_cstr (&str));
              check_die ();
            }
-         
-         zip_member_unref (zm);
        }
       zip_reader_destroy (zr);
     }
-  else 
+  else
     exit (1);
 
   return 0;