avoid an extra malloc
This commit is contained in:
parent
ff54a74b4d
commit
e3d342df96
17
lib/ftp.c
17
lib/ftp.c
@ -778,19 +778,16 @@ CURLcode Curl_ftp_done(struct connectdata *conn, CURLcode status)
|
||||
flen = ftp->file?strlen(ftp->file):0; /* file is "raw" already */
|
||||
dlen = strlen(path)-flen;
|
||||
if(dlen) {
|
||||
ftp->prevpath = malloc(dlen + 1);
|
||||
if(!ftp->prevpath) {
|
||||
free(path);
|
||||
return CURLE_OUT_OF_MEMORY;
|
||||
}
|
||||
memcpy(ftp->prevpath, path, dlen);
|
||||
ftp->prevpath[dlen]=0; /* terminate */
|
||||
ftp->prevpath = path;
|
||||
if(flen)
|
||||
/* if 'path' is not the whole string */
|
||||
ftp->prevpath[dlen]=0; /* terminate */
|
||||
infof(data, "Remembering we are in dir %s\n", ftp->prevpath);
|
||||
}
|
||||
else
|
||||
else {
|
||||
ftp->prevpath = NULL; /* no path */
|
||||
free(path);
|
||||
|
||||
free(path);
|
||||
}
|
||||
/* free the dir tree and file parts */
|
||||
freedirs(ftp);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user