comparison src/server.c @ 6019:272c761c52e3

[gaim-migrate @ 6469] So Decklin sent me a patch to fix the problem with setting profiles, and then later that day, before I got a shot at it, KingAnt fixed it himself. But Decklin's fix is better, so here it is, hand-merged with love. KingAnt also points out that Decklin Foster is a cool name. Decklin also realized (and fixed) that we were initializing static protocols after importing prefs, causing the import to fail. Thanks, Decklin. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Sat, 05 Jul 2003 01:49:07 +0000
parents fccc33d4b8fa
children d5f4ae4f9a02
comparison
equal deleted inserted replaced
6018:d4caf585f6ff 6019:272c761c52e3
313 313
314 if (gc != NULL && gc->prpl != NULL) 314 if (gc != NULL && gc->prpl != NULL)
315 prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); 315 prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl);
316 316
317 if (prpl_info && prpl_info->set_away) { 317 if (prpl_info && prpl_info->set_away) {
318 char *buf = NULL;
319
320 if (gc->away_state) { 318 if (gc->away_state) {
321 g_free(gc->away_state); 319 g_free(gc->away_state);
322 gc->away_state = NULL; 320 gc->away_state = NULL;
323 } 321 }
324 322
325 if (message) { 323 prpl_info->set_away(gc, state, message);
326 buf = g_malloc(strlen(message) * 4 + 1);
327 if (gc->flags & OPT_CONN_HTML)
328 strncpy_withhtml(buf, message, strlen(message) * 4 + 1);
329 else
330 strncpy_nohtml(buf, message, strlen(message) + 1);
331 }
332
333 prpl_info->set_away(gc, state, buf);
334 324
335 if (gc->away && state) { 325 if (gc->away && state) {
336 gc->away_state = g_strdup(state); 326 gc->away_state = g_strdup(state);
337 } 327 }
338 328
339 gaim_event_broadcast(event_away, gc, state, buf); 329 gaim_event_broadcast(event_away, gc, state, message);
340 330
341 if (buf)
342 g_free(buf);
343 } 331 }
344 332
345 system_log(log_away, gc, NULL, OPT_LOG_BUDDY_AWAY | OPT_LOG_MY_SIGNON); 333 system_log(log_away, gc, NULL, OPT_LOG_BUDDY_AWAY | OPT_LOG_MY_SIGNON);
346 } 334 }
347 335