comparison libpurple/protocols/msn/cmdproc.c @ 23013:ba47ec8a2477

When adding outgoing MSN commands to the MsnHistory, free MsnTransaction->payload to save memory. MSN_HIST_ELEMS * MSN_BUF_LEN (used in msn_message_gen_payload) = 48 * 8192 bytes = 384 KB per online MSN account = a lot of wasted memory
author Mark Doliner <mark@kingant.net>
date Tue, 20 May 2008 20:59:21 +0000
parents 723b5a2f91ce
children e069c16db597
comparison
equal deleted inserted replaced
23012:2b91ea8c94d5 23013:ba47ec8a2477
130 if (trans->payload != NULL) 130 if (trans->payload != NULL)
131 { 131 {
132 data = g_realloc(data, len + trans->payload_len); 132 data = g_realloc(data, len + trans->payload_len);
133 memcpy(data + len, trans->payload, trans->payload_len); 133 memcpy(data + len, trans->payload, trans->payload_len);
134 len += trans->payload_len; 134 len += trans->payload_len;
135
136 /*
137 * We're done with trans->payload. Free it so that the memory
138 * doesn't sit around in cmdproc->history.
139 */
140 g_free(trans->payload);
141 trans->payload = NULL;
142 trans->payload_len = 0;
135 } 143 }
136 144
137 msn_servconn_write(servconn, data, len); 145 msn_servconn_write(servconn, data, len);
138 146
139 g_free(data); 147 g_free(data);