Mercurial > pidgin.yaz
comparison libpurple/protocols/myspace/message.c @ 20243:5440eed4ec7e
applied changes from efedefa70ee1d6f7f4dd39afe5db10c7e5bfe64c
through afa2cfc77d5df43359af0e531c44167cf94d7d06
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Fri, 28 Sep 2007 15:57:10 +0000 |
parents | 44b4e8bd759b |
children | b93e7be3847b |
comparison
equal
deleted
inserted
replaced
20242:c320bc7b1383 | 20243:5440eed4ec7e |
---|---|
78 | 78 |
79 #ifdef MSIM_DEBUG_ESCAPE | 79 #ifdef MSIM_DEBUG_ESCAPE |
80 purple_debug_info("msim", "msim_escape: msg=%s, ret=%s\n", msg, gs->str); | 80 purple_debug_info("msim", "msim_escape: msg=%s, ret=%s\n", msg, gs->str); |
81 #endif | 81 #endif |
82 | 82 |
83 return gs->str; | 83 return g_string_free(gs, FALSE); |
84 } | 84 } |
85 | 85 |
86 /** | 86 /** |
87 * Unescape a protocol message. | 87 * Unescape a protocol message. |
88 * | 88 * |
118 | 118 |
119 #ifdef MSIM_DEBUG_ESCAPE | 119 #ifdef MSIM_DEBUG_ESCAPE |
120 purple_debug_info("msim", "msim_unescape: msg=%s, ret=%s\n", msg, gs->str); | 120 purple_debug_info("msim", "msim_unescape: msg=%s, ret=%s\n", msg, gs->str); |
121 #endif | 121 #endif |
122 | 122 |
123 return gs->str; | 123 return g_string_free(gs, FALSE); |
124 } | 124 } |
125 | 125 |
126 /** Create a new MsimMessage. | 126 /** Create a new MsimMessage. |
127 * | 127 * |
128 * @param first_key The first key in the sequence, or NULL for an empty message. | 128 * @param first_key The first key in the sequence, or NULL for an empty message. |
689 for (gl = (GList *)elem->data; gl != NULL; gl = g_list_next(gl)) { | 689 for (gl = (GList *)elem->data; gl != NULL; gl = g_list_next(gl)) { |
690 g_string_append_printf(gs, " %d. %s\n", i, (gchar *)(gl->data)); | 690 g_string_append_printf(gs, " %d. %s\n", i, (gchar *)(gl->data)); |
691 ++i; | 691 ++i; |
692 } | 692 } |
693 | 693 |
694 string = gs->str; | 694 string = g_string_free(gs, FALSE); |
695 break; | 695 break; |
696 | 696 |
697 default: | 697 default: |
698 string = g_strdup_printf("%s(unknown type %d", | 698 string = g_strdup_printf("%s(unknown type %d", |
699 elem->name ? elem->name : "(NULL)", elem->type); | 699 elem->name ? elem->name : "(NULL)", elem->type); |
796 /* All but last element is separated by a bar. */ | 796 /* All but last element is separated by a bar. */ |
797 if (g_list_next(gl)) | 797 if (g_list_next(gl)) |
798 g_string_append(gs, "|"); | 798 g_string_append(gs, "|"); |
799 } | 799 } |
800 | 800 |
801 return gs->str; | 801 return g_string_free(gs, FALSE); |
802 | 802 |
803 default: | 803 default: |
804 purple_debug_info("msim", "field %s, unknown type %d\n", | 804 purple_debug_info("msim", "field %s, unknown type %d\n", |
805 elem->name ? elem->name : "(NULL)", | 805 elem->name ? elem->name : "(NULL)", |
806 elem->type); | 806 elem->type); |
1335 | 1335 |
1336 case MSIM_TYPE_BINARY: | 1336 case MSIM_TYPE_BINARY: |
1337 gs = (GString *)elem->data; | 1337 gs = (GString *)elem->data; |
1338 | 1338 |
1339 /* Duplicate data, so caller can g_free() it. */ | 1339 /* Duplicate data, so caller can g_free() it. */ |
1340 *binary_data = g_new0(char, gs->len); | 1340 *binary_data = g_memdup(gs->str, gs->len); |
1341 memcpy(*binary_data, gs->str, gs->len); | |
1342 | |
1343 *binary_length = gs->len; | 1341 *binary_length = gs->len; |
1344 | 1342 |
1345 return TRUE; | 1343 return TRUE; |
1346 | 1344 |
1347 | 1345 |