cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: small patches for ssh (Daniel Stenberg)

From: Daniel Stenberg <daniel_at_haxx.se>
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