curl-library
Re: small patches for ssh (Daniel Stenberg)
Date: Tue, 27 Dec 2011 22:56:52 +0100 (CET)
On Mon, 26 Dec 2011, Tim Bannister wrote:
>> + sshc->readdir_totalLen += 4 + sshc->readdir_len;
>>
>> sshc->readdir_currLen += snprintf(sshc->readdir_line +
>> sshc->readdir_currLen,
>
> If this is the same ¡4¢ as on line 1889:
> new_readdir_line = realloc(sshc->readdir_line,
> sshc->readdir_totalLen + 4 +
> sshc->readdir_len);
>
> then would it make sense to assign this number once and then use the
> constant for both cases? It's more clear, I think.
Yes it is, and I think we can prevent the same addition to be used twice by
simply doing it like this:
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -1885,9 +1885,9 @@ static CURLcode ssh_statemach_act(struct connectdata
*conn
Curl_safefree(sshc->readdir_linkPath);
sshc->readdir_linkPath = NULL;
- new_readdir_line = realloc(sshc->readdir_line,
- sshc->readdir_totalLen + 4 +
- sshc->readdir_len);
+ /* get room for the filename and extra output */
+ sshc->readdir_totalLen += 4 + sshc->readdir_len:
+ new_readdir_line = realloc(sshc->readdir_line, sshc->readdir_totalLen);
if(!new_readdir_line) {
Curl_safefree(sshc->readdir_line);
sshc->readdir_line = NULL;
Armel, won't this work just as good in your case?
-- / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2011-12-27