Mercurial > pidgin
changeset 22105:32992e2526e4
More of ticket #1344 from o_sukhodolsky, which rlaager has been
committing pieces of. This silences an error about ignoring the
return value from the 'write' system call. References #1344.
References #4643.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 14 Jan 2008 06:32:16 +0000 |
parents | 52d7368fdc1c |
children | 06c58cffd4c4 |
files | libpurple/protocols/oscar/oscar.c |
diffstat | 1 files changed, 15 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/oscar/oscar.c Mon Jan 14 06:20:53 2008 +0000 +++ b/libpurple/protocols/oscar/oscar.c Mon Jan 14 06:32:16 2008 +0000 @@ -1517,6 +1517,7 @@ { struct pieceofcrap *pos = data; gchar *buf; + ssize_t result; if (!PURPLE_CONNECTION_IS_VALID(pos->gc)) { @@ -1528,8 +1529,8 @@ pos->fd = source; if (source < 0) { - buf = g_strdup_printf(_("You may be disconnected shortly. You may want to use TOC until " - "this is fixed. Check %s for updates."), PURPLE_WEBSITE); + buf = g_strdup_printf(_("You may be disconnected shortly. " + "Check %s for updates."), PURPLE_WEBSITE); purple_notify_warning(pos->gc, NULL, _("Unable to get a valid AIM login hash."), buf); @@ -1541,7 +1542,18 @@ buf = g_strdup_printf("GET " AIMHASHDATA "?offset=%ld&len=%ld&modname=%s HTTP/1.0\n\n", pos->offset, pos->len, pos->modname ? pos->modname : ""); - write(pos->fd, buf, strlen(buf)); + result = send(pos->fd, buf, strlen(buf), 0); + if (result != strlen(buf)) { + if (result < 0) + purple_debug_error("oscar", "Error writing %" G_GSIZE_FORMAT + " bytes to fetch AIM hash data: %s\n", + strlen(buf), strerror(errno)); + else + purple_debug_error("oscar", "Tried to write %" + G_GSIZE_FORMAT " bytes to fetch AIM hash data but " + "instead wrote %" G_GSIZE_FORMAT " bytes\n", + strlen(buf), result); + } g_free(buf); g_free(pos->modname); pos->inpa = purple_input_add(pos->fd, PURPLE_INPUT_READ, damn_you, pos);