Mercurial > pidgin
changeset 6269:0a902bd3e170
[gaim-migrate @ 6766]
I'm going to be boiled alive for this.. Changing
gaim_xfers_get_local_system_ip() to use a static buffer that it returns
instead of a g_strdup()'d copy of the buffer... but that's rarely of use,
because I don't think the IP will be changing often enough where this will
screw up code :P Also, fixed a function's name, because I broke compiling
again.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Tue, 22 Jul 2003 08:22:08 +0000 |
parents | 084e1f6610a8 |
children | 1bf6fd117797 |
files | src/ft.c src/ft.h |
diffstat | 2 files changed, 15 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ft.c Tue Jul 22 08:12:08 2003 +0000 +++ b/src/ft.c Tue Jul 22 08:22:08 2003 +0000 @@ -45,7 +45,7 @@ xfer->who = g_strdup(who); xfer->ui_ops = gaim_get_xfer_ui_ops(); - xfer->local_ip = gaim_xfers_get_ip_for_account(account); + xfer->local_ip = g_strdup(gaim_xfers_get_ip_for_account(account)); ui_ops = gaim_xfer_get_ui_ops(xfer); @@ -723,13 +723,13 @@ return ip; } -char * +const char * gaim_xfers_get_local_system_ip(void) { struct hostent *host; char localhost[129]; long unsigned add; - char ip[46]; + static char ip[46]; if (gethostname(localhost, 128) < 0) return NULL; @@ -742,18 +742,18 @@ g_snprintf(ip, 11, "%lu", add); - return g_strdup(ip); + return ip; } -char * +const char * gaim_xfers_get_ip_for_account(const GaimAccount *account) { g_return_val_if_fail(account != NULL, NULL); if (gaim_account_get_public_ip(account) != NULL) - return g_strdup(gaim_account_get_public_ip(account)); + return gaim_account_get_public_ip(account); else if (gaim_xfers_get_local_ip() != NULL) - return g_strdup(gaim_xfers_get_local_ip()); + return gaim_xfers_get_local_ip(); else return gaim_xfers_get_local_system_ip(); }
--- a/src/ft.h Tue Jul 22 08:12:08 2003 +0000 +++ b/src/ft.h Tue Jul 22 08:22:08 2003 +0000 @@ -486,12 +486,13 @@ /** * Returns the IP address of the local system. * - * @note The returned IP address must be g_free()'d when no longer - * in use. + * @note The returned string is a pointer to a static buffer. If this + * function is called twice, it may be important to make a copy + * of the returned string. * * @return The local IP address. */ -char *gaim_xfers_get_local_system__ip(void); +const char *gaim_xfers_get_local_system_ip(void); /** * Returns the IP address that should be used for the specified account. @@ -507,11 +508,13 @@ * @note The returned IP address must be g_free()'d when no longer * in use. * - * @param account The account the IP is going to be used with. + * @note The returned string is a pointer to a static buffer. If this + * function is called twice, it may be important to make a copy + * of the returned string. * * @return The local IP address to be used. */ -char *gaim_xfers_get_ip_for_account(const GaimAccount *account); +const char *gaim_xfers_get_ip_for_account(const GaimAccount *account); /** * Initializes the file transfer subsystem.