| 690 jid = jabber_id_new(str); |
690 jid = jabber_id_new(str); |
| 691 if (!jid) |
691 if (!jid) |
| 692 return FALSE; |
692 return FALSE; |
| 693 |
693 |
| 694 equal = (purple_strequal(jid->node, js->user->node) && |
694 equal = (purple_strequal(jid->node, js->user->node) && |
| 695 g_str_equal(jid->domain, js->user->domain) && |
695 purple_strequal(jid->domain, js->user->domain) && |
| 696 (jid->resource == NULL || |
696 (jid->resource == NULL || |
| 697 g_str_equal(jid->resource, js->user->resource))); |
697 purple_strequal(jid->resource, js->user->resource))); |
| 698 jabber_id_free(jid); |
698 jabber_id_free(jid); |
| 699 return equal; |
699 return equal; |
| 700 } |
700 } |
| 701 |
701 |
| 702 static const struct { |
702 static const struct { |
| 731 gsize i; |
731 gsize i; |
| 732 if (!id) |
732 if (!id) |
| 733 return JABBER_BUDDY_STATE_UNKNOWN; |
733 return JABBER_BUDDY_STATE_UNKNOWN; |
| 734 |
734 |
| 735 for (i = 0; i < G_N_ELEMENTS(jabber_statuses); ++i) |
735 for (i = 0; i < G_N_ELEMENTS(jabber_statuses); ++i) |
| 736 if (g_str_equal(id, jabber_statuses[i].status_id)) |
736 if (purple_strequal(id, jabber_statuses[i].status_id)) |
| 737 return jabber_statuses[i].state; |
737 return jabber_statuses[i].state; |
| 738 |
738 |
| 739 return JABBER_BUDDY_STATE_UNKNOWN; |
739 return JABBER_BUDDY_STATE_UNKNOWN; |
| 740 } |
740 } |
| 741 |
741 |
| 744 gsize i; |
744 gsize i; |
| 745 |
745 |
| 746 g_return_val_if_fail(id != NULL, JABBER_BUDDY_STATE_UNKNOWN); |
746 g_return_val_if_fail(id != NULL, JABBER_BUDDY_STATE_UNKNOWN); |
| 747 |
747 |
| 748 for (i = 0; i < G_N_ELEMENTS(jabber_statuses); ++i) |
748 for (i = 0; i < G_N_ELEMENTS(jabber_statuses); ++i) |
| 749 if (jabber_statuses[i].show && g_str_equal(id, jabber_statuses[i].show)) |
749 if (jabber_statuses[i].show && purple_strequal(id, jabber_statuses[i].show)) |
| 750 return jabber_statuses[i].state; |
750 return jabber_statuses[i].state; |
| 751 |
751 |
| 752 purple_debug_warning("jabber", "Invalid value of presence <show/> " |
752 purple_debug_warning("jabber", "Invalid value of presence <show/> " |
| 753 "attribute: %s\n", id); |
753 "attribute: %s\n", id); |
| 754 return JABBER_BUDDY_STATE_UNKNOWN; |
754 return JABBER_BUDDY_STATE_UNKNOWN; |