- struct zip_member *zm = zip_member_open (zr, argv[i]);
- FILE *fp = fopen (argv[i], "w");
+ 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 ();
+ }
+
+ struct zip_member *zm ;
+ char *error = zip_member_open (zr, argv[i], &zm);
+ if (error)
+ {
+ fprintf (stderr, "Could not open zip member %s from archive: %s\n",
+ argv[i], error);
+ check_die ();
+ }