Mercurial > pidgin
comparison libpurple/blist.c @ 20205:859087457089
applied changes from 8075949b7612e77d6eaa5f0d3cbf98f40715f948
through eb1951eba818e1546adcc94663d5ddf24daee725
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Fri, 28 Sep 2007 15:35:18 +0000 |
parents | 44b4e8bd759b |
children | 28493a27849b |
comparison
equal
deleted
inserted
replaced
20204:de68625c4c04 | 20205:859087457089 |
---|---|
841 | 841 |
842 if (ops && ops->update) | 842 if (ops && ops->update) |
843 ops->update(purplebuddylist, (PurpleBlistNode *)buddy); | 843 ops->update(purplebuddylist, (PurpleBlistNode *)buddy); |
844 } | 844 } |
845 | 845 |
846 static gboolean | |
847 purple_strings_are_different(const char *one, const char *two) | |
848 { | |
849 return !((one && two && g_utf8_collate(one, two) == 0) || | |
850 ((one == NULL || *one == '\0') && (two == NULL || *two == '\0'))); | |
851 } | |
852 | |
846 void purple_blist_alias_contact(PurpleContact *contact, const char *alias) | 853 void purple_blist_alias_contact(PurpleContact *contact, const char *alias) |
847 { | 854 { |
848 PurpleBlistUiOps *ops = purple_blist_get_ui_ops(); | 855 PurpleBlistUiOps *ops = purple_blist_get_ui_ops(); |
849 PurpleConversation *conv; | 856 PurpleConversation *conv; |
850 PurpleBlistNode *bnode; | 857 PurpleBlistNode *bnode; |
851 char *old_alias; | 858 char *old_alias; |
852 | 859 |
853 g_return_if_fail(contact != NULL); | 860 g_return_if_fail(contact != NULL); |
854 | 861 |
862 if (!purple_strings_are_different(contact->alias, alias)) | |
863 return; | |
864 | |
855 old_alias = contact->alias; | 865 old_alias = contact->alias; |
856 | 866 |
857 if ((alias != NULL) && (*alias != '\0')) | 867 if ((alias != NULL) && (*alias != '\0')) |
858 contact->alias = g_strdup(alias); | 868 contact->alias = g_strdup(alias); |
859 else | 869 else |
884 PurpleBlistUiOps *ops = purple_blist_get_ui_ops(); | 894 PurpleBlistUiOps *ops = purple_blist_get_ui_ops(); |
885 char *old_alias; | 895 char *old_alias; |
886 | 896 |
887 g_return_if_fail(chat != NULL); | 897 g_return_if_fail(chat != NULL); |
888 | 898 |
899 if (!purple_strings_are_different(chat->alias, alias)) | |
900 return; | |
901 | |
889 old_alias = chat->alias; | 902 old_alias = chat->alias; |
890 | 903 |
891 if ((alias != NULL) && (*alias != '\0')) | 904 if ((alias != NULL) && (*alias != '\0')) |
892 chat->alias = g_strdup(alias); | 905 chat->alias = g_strdup(alias); |
893 else | 906 else |
909 PurpleConversation *conv; | 922 PurpleConversation *conv; |
910 char *old_alias; | 923 char *old_alias; |
911 | 924 |
912 g_return_if_fail(buddy != NULL); | 925 g_return_if_fail(buddy != NULL); |
913 | 926 |
927 if (!purple_strings_are_different(buddy->alias, alias)) | |
928 return; | |
929 | |
914 old_alias = buddy->alias; | 930 old_alias = buddy->alias; |
915 | 931 |
916 if ((alias != NULL) && (*alias != '\0')) | 932 if ((alias != NULL) && (*alias != '\0')) |
917 buddy->alias = g_strdup(alias); | 933 buddy->alias = g_strdup(alias); |
918 else | 934 else |
938 PurpleBlistUiOps *ops = purple_blist_get_ui_ops(); | 954 PurpleBlistUiOps *ops = purple_blist_get_ui_ops(); |
939 PurpleConversation *conv; | 955 PurpleConversation *conv; |
940 char *old_alias; | 956 char *old_alias; |
941 | 957 |
942 g_return_if_fail(buddy != NULL); | 958 g_return_if_fail(buddy != NULL); |
959 | |
960 if (!purple_strings_are_different(buddy->server_alias, alias)) | |
961 return; | |
943 | 962 |
944 old_alias = buddy->server_alias; | 963 old_alias = buddy->server_alias; |
945 | 964 |
946 if ((alias != NULL) && (*alias != '\0') && g_utf8_validate(alias, -1, NULL)) | 965 if ((alias != NULL) && (*alias != '\0') && g_utf8_validate(alias, -1, NULL)) |
947 buddy->server_alias = g_strdup(alias); | 966 buddy->server_alias = g_strdup(alias); |
1425 { | 1444 { |
1426 PurpleBlistUiOps *ops = purple_blist_get_ui_ops(); | 1445 PurpleBlistUiOps *ops = purple_blist_get_ui_ops(); |
1427 char *old_alias; | 1446 char *old_alias; |
1428 | 1447 |
1429 g_return_if_fail(contact != NULL); | 1448 g_return_if_fail(contact != NULL); |
1449 | |
1450 if (!purple_strings_are_different(contact->alias, alias)) | |
1451 return; | |
1430 | 1452 |
1431 old_alias = contact->alias; | 1453 old_alias = contact->alias; |
1432 | 1454 |
1433 if ((alias != NULL) && (*alias != '\0')) | 1455 if ((alias != NULL) && (*alias != '\0')) |
1434 contact->alias = g_strdup(alias); | 1456 contact->alias = g_strdup(alias); |