← Commit list

a002c50510

x2018
x2018
2025-11-09
SUCCESS Duration: 145s

Subject

ftp: refactor a piece of code by merging the repeated part

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/ftp.c+5 -10
@@ -2744,16 +2744,6 @@ static CURLcode ftp_pwd_resp(struct Curl_easy *data,
free(dir);
return result;
}
- free(ftpc->entrypath);
- ftpc->entrypath = dir; /* remember this */
- infof(data, "Entry path is '%s'", ftpc->entrypath);
- /* also save it where getinfo can access it: */
- free(data->state.most_recent_ftp_entrypath);
- data->state.most_recent_ftp_entrypath = strdup(ftpc->entrypath);
- if(!data->state.most_recent_ftp_entrypath)
- return CURLE_OUT_OF_MEMORY;
- ftp_state(data, ftpc, FTP_SYST);
- return result;
}
free(ftpc->entrypath);
@@ -2764,6 +2754,11 @@ static CURLcode ftp_pwd_resp(struct Curl_easy *data,
data->state.most_recent_ftp_entrypath = strdup(ftpc->entrypath);
if(!data->state.most_recent_ftp_entrypath)
return CURLE_OUT_OF_MEMORY;
+
+ if(!ftpc->server_os && dir[0] != '/') {
+ ftp_state(data, ftpc, FTP_SYST);
+ return CURLE_OK;
+ }
}
else {
/* could not get the path */