Mercurial > pidgin
comparison src/protocols/msn/msg.c @ 6011:b8abf266dd3b
[gaim-migrate @ 6459]
Fixed a good sized memory leak in the MSN prpl. Thanks for reporting it
Dreoth!
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Fri, 04 Jul 2003 05:38:55 +0000 |
| parents | 4f72b611f0ee |
| children | f7ddc1f6227e |
comparison
equal
deleted
inserted
replaced
| 6010:6dad1643e3bf | 6011:b8abf266dd3b |
|---|---|
| 70 | 70 |
| 71 MsnMessage * | 71 MsnMessage * |
| 72 msn_message_new_from_str(MsnSession *session, const char *str) | 72 msn_message_new_from_str(MsnSession *session, const char *str) |
| 73 { | 73 { |
| 74 MsnMessage *msg; | 74 MsnMessage *msg; |
| 75 char *tmp, *field1, *field2, *c; | 75 char *tmp_base, *tmp, *field1, *field2, *c; |
| 76 | 76 |
| 77 g_return_val_if_fail(str != NULL, NULL); | 77 g_return_val_if_fail(str != NULL, NULL); |
| 78 g_return_val_if_fail(!g_ascii_strncasecmp(str, "MSG", 3), NULL); | 78 g_return_val_if_fail(!g_ascii_strncasecmp(str, "MSG", 3), NULL); |
| 79 | 79 |
| 80 msg = msn_message_new(); | 80 msg = msn_message_new(); |
| 82 /* Clear out the old stuff. */ | 82 /* Clear out the old stuff. */ |
| 83 msn_message_set_attr(msg, "User-Agent", NULL); | 83 msn_message_set_attr(msg, "User-Agent", NULL); |
| 84 msn_message_set_content_type(msg, NULL); | 84 msn_message_set_content_type(msg, NULL); |
| 85 msn_message_set_charset(msg, NULL); | 85 msn_message_set_charset(msg, NULL); |
| 86 | 86 |
| 87 tmp = g_strdup(str); | 87 tmp_base = tmp = g_strdup(str); |
| 88 | 88 |
| 89 GET_NEXT(tmp); /* Skip MSG */ | 89 GET_NEXT(tmp); /* Skip MSG */ |
| 90 field1 = tmp; | 90 field1 = tmp; |
| 91 | 91 |
| 92 GET_NEXT(tmp); /* Skip the passport or TID */ | 92 GET_NEXT(tmp); /* Skip the passport or TID */ |
| 163 /* "\r\n" */ | 163 /* "\r\n" */ |
| 164 tmp += 2; | 164 tmp += 2; |
| 165 | 165 |
| 166 /* Now we *should* be at the body. */ | 166 /* Now we *should* be at the body. */ |
| 167 msn_message_set_body(msg, tmp); | 167 msn_message_set_body(msg, tmp); |
| 168 | |
| 169 g_free(tmp_base); | |
| 168 | 170 |
| 169 /* Done! */ | 171 /* Done! */ |
| 170 | 172 |
| 171 return msg; | 173 return msg; |
| 172 } | 174 } |
