Mercurial > pidgin.yaz
comparison plugins/yay/yay.c @ 1404:96e93119268d
[gaim-migrate @ 1414]
argh
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Sat, 13 Jan 2001 08:49:15 +0000 |
parents | 65f4a0325022 |
children | 336fc98b7f90 |
comparison
equal
deleted
inserted
replaced
1403:c0aa7fdc0a93 | 1404:96e93119268d |
---|---|
300 } | 300 } |
301 | 301 |
302 static void yahoo_set_away(struct gaim_connection *gc, char *state, char *msg) { | 302 static void yahoo_set_away(struct gaim_connection *gc, char *state, char *msg) { |
303 struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; | 303 struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; |
304 | 304 |
305 if (gc->away) | |
306 g_free(gc->away); | |
307 gc->away = NULL; | |
308 | |
305 if (msg) { | 309 if (msg) { |
306 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_CUSTOM, msg); | 310 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_CUSTOM, msg); |
307 yd->current_status = YAHOO_STATUS_CUSTOM; | 311 yd->current_status = YAHOO_STATUS_CUSTOM; |
312 gc->away = g_strdup(msg); | |
308 } else if (state) { | 313 } else if (state) { |
309 if (!strcmp(state, "Available")) { | 314 if (!strcmp(state, "Available")) { |
310 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_AVAILABLE, msg); | 315 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_AVAILABLE, msg); |
311 yd->current_status = YAHOO_STATUS_AVAILABLE; | 316 yd->current_status = YAHOO_STATUS_AVAILABLE; |
312 } else if (!strcmp(state, "Be Right Back")) { | 317 } else if (!strcmp(state, "Be Right Back")) { |
313 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_BRB, msg); | 318 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_BRB, msg); |
314 yd->current_status = YAHOO_STATUS_BRB; | 319 yd->current_status = YAHOO_STATUS_BRB; |
320 gc->away = g_strdup(yahoo_get_status_string(YAHOO_STATUS_BRB)); | |
315 } else if (!strcmp(state, "Busy")) { | 321 } else if (!strcmp(state, "Busy")) { |
316 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_BUSY, msg); | 322 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_BUSY, msg); |
317 yd->current_status = YAHOO_STATUS_BUSY; | 323 yd->current_status = YAHOO_STATUS_BUSY; |
324 gc->away = g_strdup(yahoo_get_status_string(YAHOO_STATUS_BUSY)); | |
318 } else if (!strcmp(state, "Not At Home")) { | 325 } else if (!strcmp(state, "Not At Home")) { |
319 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_NOTATHOME, msg); | 326 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_NOTATHOME, msg); |
320 yd->current_status = YAHOO_STATUS_NOTATHOME; | 327 yd->current_status = YAHOO_STATUS_NOTATHOME; |
328 gc->away = g_strdup(yahoo_get_status_string(YAHOO_STATUS_NOTATHOME)); | |
321 } else if (!strcmp(state, "Not At Desk")) { | 329 } else if (!strcmp(state, "Not At Desk")) { |
322 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_NOTATDESK, msg); | 330 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_NOTATDESK, msg); |
323 yd->current_status = YAHOO_STATUS_NOTATDESK; | 331 yd->current_status = YAHOO_STATUS_NOTATDESK; |
332 gc->away = g_strdup(yahoo_get_status_string(YAHOO_STATUS_NOTATDESK)); | |
324 } else if (!strcmp(state, "Not In Office")) { | 333 } else if (!strcmp(state, "Not In Office")) { |
325 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_NOTINOFFICE, msg); | 334 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_NOTINOFFICE, msg); |
326 yd->current_status = YAHOO_STATUS_NOTINOFFICE; | 335 yd->current_status = YAHOO_STATUS_NOTINOFFICE; |
336 gc->away = g_strdup(yahoo_get_status_string(YAHOO_STATUS_NOTINOFFICE)); | |
327 } else if (!strcmp(state, "On Phone")) { | 337 } else if (!strcmp(state, "On Phone")) { |
328 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_ONPHONE, msg); | 338 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_ONPHONE, msg); |
329 yd->current_status = YAHOO_STATUS_ONPHONE; | 339 yd->current_status = YAHOO_STATUS_ONPHONE; |
340 gc->away = g_strdup(yahoo_get_status_string(YAHOO_STATUS_ONPHONE)); | |
330 } else if (!strcmp(state, "On Vacation")) { | 341 } else if (!strcmp(state, "On Vacation")) { |
331 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_ONVACATION, msg); | 342 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_ONVACATION, msg); |
332 yd->current_status = YAHOO_STATUS_ONVACATION; | 343 yd->current_status = YAHOO_STATUS_ONVACATION; |
344 gc->away = g_strdup(yahoo_get_status_string(YAHOO_STATUS_ONVACATION)); | |
333 } else if (!strcmp(state, "Out To Lunch")) { | 345 } else if (!strcmp(state, "Out To Lunch")) { |
334 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_OUTTOLUNCH, msg); | 346 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_OUTTOLUNCH, msg); |
335 yd->current_status = YAHOO_STATUS_OUTTOLUNCH; | 347 yd->current_status = YAHOO_STATUS_OUTTOLUNCH; |
348 gc->away = g_strdup(yahoo_get_status_string(YAHOO_STATUS_OUTTOLUNCH)); | |
336 } else if (!strcmp(state, "Stepped Out")) { | 349 } else if (!strcmp(state, "Stepped Out")) { |
337 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_STEPPEDOUT, msg); | 350 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_STEPPEDOUT, msg); |
338 yd->current_status = YAHOO_STATUS_STEPPEDOUT; | 351 yd->current_status = YAHOO_STATUS_STEPPEDOUT; |
352 gc->away = g_strdup(yahoo_get_status_string(YAHOO_STATUS_STEPPEDOUT)); | |
339 } else if (!strcmp(state, "Invisible")) { | 353 } else if (!strcmp(state, "Invisible")) { |
340 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_INVISIBLE, msg); | 354 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_INVISIBLE, msg); |
341 yd->current_status = YAHOO_STATUS_INVISIBLE; | 355 yd->current_status = YAHOO_STATUS_INVISIBLE; |
356 gc->away = g_strdup(yahoo_get_status_string(YAHOO_STATUS_INVISIBLE)); | |
342 } else if (!strcmp(state, GAIM_AWAY_CUSTOM)) { | 357 } else if (!strcmp(state, GAIM_AWAY_CUSTOM)) { |
343 if (gc->is_idle) { | 358 if (gc->is_idle) { |
344 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_IDLE, NULL); | 359 yahoo_cmd_set_away_mode(yd->ctxt, YAHOO_STATUS_IDLE, NULL); |
345 yd->current_status = YAHOO_STATUS_IDLE; | 360 yd->current_status = YAHOO_STATUS_IDLE; |
346 } else { | 361 } else { |