- struct string zip_error;
- struct zip_reader *zip = zip_reader_create (filename, &zip_error);
- if (!zip)
- return ds_steal_cstr (&zip_error);
+ struct zip_reader *zip;
+ char *error = zip_reader_create (filename, &zip);
+ if (error)
+ return error;