Mercurial > pidgin
diff src/account.c @ 10204:393f85d9f8dd
[gaim-migrate @ 11325]
I moved some code from account.c to status.c. It's better there. This
shouldn't hurt anything. In other news, the status API makes me hot.
What makes you hot?
Something that you want but you haven't got
MartinFowlerSaysWhat?
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Fri, 19 Nov 2004 03:08:27 +0000 |
parents | 760e690a5f30 |
children | 56b53036e48c |
line wrap: on
line diff
--- a/src/account.c Thu Nov 18 17:05:40 2004 +0000 +++ b/src/account.c Fri Nov 19 03:08:27 2004 +0000 @@ -553,11 +553,7 @@ gboolean active, ...) { GaimStatus *status; - gboolean changed = FALSE; va_list args; - const char *id, *string_data; - int int_data; - gboolean boolean_data; g_return_if_fail(account != NULL); g_return_if_fail(status_id != NULL); @@ -573,62 +569,9 @@ return; } - if (!active && gaim_status_is_exclusive(status)) - { - gaim_debug(GAIM_DEBUG_ERROR, "accounts", - "Cannot deactivate an exclusive status.\n"); - return; - } - - if (gaim_status_is_active(status) != active) - changed = TRUE; - - /* Set any attributes */ va_start(args, active); - while ((id = va_arg(args, const char *)) != NULL) - { - GaimValue *value; - value = gaim_status_get_attr_value(status, id); - if (value->type == GAIM_TYPE_STRING) - { - string_data = va_arg(args, const char *); - if (((string_data == NULL) && (value->data.string_data == NULL)) || - ((string_data != NULL) && (value->data.string_data != NULL) && - !strcmp(string_data, value->data.string_data))) - { - continue; - } - gaim_status_set_attr_string(status, id, string_data); - changed = TRUE; - } - else if (value->type == GAIM_TYPE_INT) - { - int_data = va_arg(args, int); - if (int_data == value->data.int_data) - continue; - gaim_status_set_attr_int(status, id, int_data); - changed = TRUE; - } - else if (value->type == GAIM_TYPE_BOOLEAN) - { - boolean_data = va_arg(args, gboolean); - if (boolean_data == value->data.boolean_data) - continue; - gaim_status_set_attr_int(status, id, boolean_data); - changed = TRUE; - } - else - { - /* We don't know what the data is--skip over it */ - va_arg(args, void *); - } - } + gaim_status_set_active_with_attrs(status, active, args); va_end(args); - - if (!changed) - return; - - gaim_status_set_active(status, active); } void