Mercurial > gftp.yaz
diff lib/protocols.c @ 67:aa971a4bb16f
2002-11-27 Brian Masney <masneyb@gftp.org>
* Officially release 2.0.14rc1
* lib/cache.c - take out a warning message
* lib/misc.c lib/protocols.c lib/gftp.h lib/gtk/dnd.c lib/transfer.c -
add second argument (free_request) to gftp_request_destroy
* lib/protocols.c (gftp_parse_url) - make sure the request structure
is cleared before we start to modify it
* src/gtk/gftp-text.c - fixed crash if you didn't enter a username
| author | masneyb |
|---|---|
| date | Wed, 27 Nov 2002 14:29:57 +0000 |
| parents | cd3e457cbc85 |
| children | e2b30d0c97a4 |
line wrap: on
line diff
--- a/lib/protocols.c Wed Nov 27 02:23:51 2002 +0000 +++ b/lib/protocols.c Wed Nov 27 14:29:57 2002 +0000 @@ -35,7 +35,7 @@ void -gftp_request_destroy (gftp_request * request) +gftp_request_destroy (gftp_request * request, int free_request) { g_return_if_fail (request != NULL); @@ -76,8 +76,18 @@ g_free (request->protocol_data); if (request->sftpserv_path) g_free (request->sftpserv_path); + memset (request, 0, sizeof (*request)); - g_free (request); + + if (free_request) + g_free (request); + else + { + request->sockfd = -1; + request->datafd = -1; + request->cachefd = -1; + request->data_type = GFTP_TYPE_BINARY; + } } @@ -368,12 +378,17 @@ gftp_parse_url (gftp_request * request, const char *url) { char *pos, *endpos, *endhostpos, *str, tempchar; + gftp_logging_func logging_function; const char *stpos; int len, i; g_return_val_if_fail (request != NULL, -2); g_return_val_if_fail (url != NULL, -2); + logging_function = request->logging_function; + gftp_request_destroy (request, 0); + request->logging_function = logging_function; + for (stpos = url; *stpos == ' '; stpos++); if ((pos = strstr (stpos, "://")) != NULL)
