Mercurial > pidgin
changeset 4474:8fbf1c989f2b
[gaim-migrate @ 4749]
Reverting shx's patch. It uses a function that the man page claims should
never be used, and it breaks things on Solaris and probably other
platforms.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Thu, 30 Jan 2003 18:14:22 +0000 |
parents | 7b0f6537da75 |
children | 1f3241831734 |
files | src/protocols/msn/msn.c |
diffstat | 1 files changed, 28 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/protocols/msn/msn.c Thu Jan 30 18:08:04 2003 +0000 +++ b/src/protocols/msn/msn.c Thu Jan 30 18:14:22 2003 +0000 @@ -154,7 +154,6 @@ while (*(tmp) && *(tmp) == ' ') \ (tmp)++; -#define GET_NEXT_LINE(tmp,s) strsep (&tmp, " "); s = strsep (&tmp, "\r"); static char *msn_normalize(const char *s) { @@ -786,10 +785,21 @@ char *cookie_s, *filesize_s; size_t filesize; - tmp = strstr(msg, "Invitation-Cookie:"); - GET_NEXT_LINE(tmp, cookie_s); - GET_NEXT_LINE(tmp, filename); - GET_NEXT_LINE(tmp, filesize_s); + tmp = strstr(msg, "Invitation-Cookie"); + GET_NEXT(tmp); + cookie_s = tmp; + GET_NEXT(tmp); + GET_NEXT(tmp); + filename = tmp; + + /* Needed for filenames with spaces */ + tmp = strchr(tmp, '\r'); + *tmp = '\0'; + tmp += 2; + + GET_NEXT(tmp); + filesize_s = tmp; + GET_NEXT(tmp); mft = g_new0(struct msn_file_transfer, 1); mft->gc = ms->gc; @@ -822,12 +832,19 @@ char *cookie_s, *ip, *port_s, *authcookie_s; - tmp = strstr(msg, "Invitation-Cookie:"); - GET_NEXT_LINE(tmp, cookie_s); - GET_NEXT_LINE(tmp, ip); - GET_NEXT_LINE(tmp, port_s); - GET_NEXT_LINE(tmp, authcookie_s); - GET_NEXT_LINE(tmp, authcookie_s); + tmp = strstr(msg, "Invitation-Cookie"); + GET_NEXT(tmp); + cookie_s = tmp; + GET_NEXT(tmp); + GET_NEXT(tmp); + ip = tmp; + GET_NEXT(tmp); + GET_NEXT(tmp); + port_s = tmp; + GET_NEXT(tmp); + GET_NEXT(tmp); + authcookie_s = tmp; + GET_NEXT(tmp); mft = find_mft_by_cookie(ms->gc, atoi(cookie_s));