- string ls_raw;
- struct curl_slist* commands = 0;
- commands = curl_slist_append (commands, "NLST");
- curl_easy_setopt (curl, CURLOPT_POSTQUOTE, commands);
- curl_easy_setopt (curl, CURLOPT_WRITEDATA, &ls_raw);
- curl_easy_setopt (curl, CURLOPT_WRITEFUNCTION, ftp_ls_data);
- curl_easy_setopt (curl, CURLOPT_FTP_USE_EPSV, 0);
- curl_easy_setopt (curl, CURLOPT_FTP_USE_EPRT, 0);
- curl_easy_setopt (curl, CURLOPT_VERBOSE, 1);
- if (!pasv) {
- curl_easy_setopt (curl, CURLOPT_FTPPORT, "-");
+ zip_error_t error;
+ zip_error_init (&error);
+ auto zip = zip_open_from_source (zip_source, ZIP_RDONLY, &error);
+ if (!zip) {
+ return String::compose (_("Could not open downloaded ZIP file (%1:%2: %3)"), error.zip_err, error.sys_err, error.str ? error.str : "");