Mercurial > pidgin
comparison libpurple/util.c @ 32672:3828a61c44da
A boring and large patch so I can merge heads.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Fri, 23 Dec 2011 08:21:58 +0000 |
parents | 99ca503ea087 |
children |
comparison
equal
deleted
inserted
replaced
32671:0e69949b3e61 | 32672:3828a61c44da |
---|---|
71 gssize max_len; | 71 gssize max_len; |
72 gboolean chunked; | 72 gboolean chunked; |
73 PurpleAccount *account; | 73 PurpleAccount *account; |
74 }; | 74 }; |
75 | 75 |
76 struct _PurpleMenuAction | |
77 { | |
78 char *label; | |
79 PurpleCallback callback; | |
80 gpointer data; | |
81 GList *children; | |
82 }; | |
83 | |
76 static char *custom_user_dir = NULL; | 84 static char *custom_user_dir = NULL; |
77 static char *user_dir = NULL; | 85 static char *user_dir = NULL; |
78 | 86 |
79 | 87 |
80 PurpleMenuAction * | 88 PurpleMenuAction * |
94 { | 102 { |
95 g_return_if_fail(act != NULL); | 103 g_return_if_fail(act != NULL); |
96 | 104 |
97 g_free(act->label); | 105 g_free(act->label); |
98 g_free(act); | 106 g_free(act); |
107 } | |
108 | |
109 char * purple_menu_action_get_label(const PurpleMenuAction *act) | |
110 { | |
111 g_return_val_if_fail(act != NULL, NULL); | |
112 | |
113 return act->label; | |
114 } | |
115 | |
116 PurpleCallback purple_menu_action_get_callback(const PurpleMenuAction *act) | |
117 { | |
118 g_return_val_if_fail(act != NULL, NULL); | |
119 | |
120 return act->callback; | |
121 } | |
122 | |
123 gpointer purple_menu_action_get_data(const PurpleMenuAction *act) | |
124 { | |
125 g_return_val_if_fail(act != NULL, NULL); | |
126 | |
127 return act->data; | |
128 } | |
129 | |
130 GList* purple_menu_action_get_children(const PurpleMenuAction *act) | |
131 { | |
132 g_return_val_if_fail(act != NULL, NULL); | |
133 | |
134 return act->children; | |
135 } | |
136 | |
137 void purple_menu_action_set_label(PurpleMenuAction *act, char *label) | |
138 { | |
139 g_return_if_fail(act != NULL); | |
140 | |
141 act-> label = label; | |
142 } | |
143 | |
144 void purple_menu_action_set_callback(PurpleMenuAction *act, PurpleCallback callback) | |
145 { | |
146 g_return_if_fail(act != NULL); | |
147 | |
148 act->callback = callback; | |
149 } | |
150 | |
151 void purple_menu_action_set_data(PurpleMenuAction *act, gpointer data) | |
152 { | |
153 g_return_if_fail(act != NULL); | |
154 | |
155 act->data = data; | |
156 } | |
157 | |
158 void purple_menu_action_set_children(PurpleMenuAction *act, GList *children) | |
159 { | |
160 g_return_if_fail(act != NULL); | |
161 | |
162 act->children = children; | |
99 } | 163 } |
100 | 164 |
101 void | 165 void |
102 purple_util_init(void) | 166 purple_util_init(void) |
103 { | 167 { |
3265 | 3329 |
3266 return ret; | 3330 return ret; |
3267 } | 3331 } |
3268 | 3332 |
3269 char * | 3333 char * |
3270 purple_str_size_to_units(size_t size) | 3334 purple_str_size_to_units(goffset size) |
3271 { | 3335 { |
3272 static const char * const size_str[] = { "bytes", "KiB", "MiB", "GiB" }; | 3336 static const char * const size_str[] = { "bytes", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB" }; |
3273 float size_mag; | 3337 float size_mag; |
3274 int size_index = 0; | 3338 int size_index = 0; |
3275 | 3339 |
3276 if (size == -1) { | 3340 if (size == -1) { |
3277 return g_strdup(_("Calculating...")); | 3341 return g_strdup(_("Calculating...")); |
3280 return g_strdup(_("Unknown.")); | 3344 return g_strdup(_("Unknown.")); |
3281 } | 3345 } |
3282 else { | 3346 else { |
3283 size_mag = (float)size; | 3347 size_mag = (float)size; |
3284 | 3348 |
3285 while ((size_index < 3) && (size_mag > 1024)) { | 3349 while ((size_index < G_N_ELEMENTS(size_str) - 1) && (size_mag > 1024)) { |
3286 size_mag /= 1024; | 3350 size_mag /= 1024; |
3287 size_index++; | 3351 size_index++; |
3288 } | 3352 } |
3289 | 3353 |
3290 if (size_index == 0) { | 3354 if (size_index == 0) { |
4101 (gfud->website.address ? gfud->website.address : ""), | 4165 (gfud->website.address ? gfud->website.address : ""), |
4102 purple_ssl_strerror(error)); | 4166 purple_ssl_strerror(error)); |
4103 } | 4167 } |
4104 | 4168 |
4105 PurpleUtilFetchUrlData * | 4169 PurpleUtilFetchUrlData * |
4106 purple_util_fetch_url_request(const char *url, gboolean full, | 4170 purple_util_fetch_url_request(PurpleAccount *account, |
4107 const char *user_agent, gboolean http11, | |
4108 const char *request, gboolean include_headers, | |
4109 PurpleUtilFetchUrlCallback callback, void *user_data) | |
4110 { | |
4111 return purple_util_fetch_url_request_len(NULL, url, full, | |
4112 user_agent, http11, | |
4113 request, include_headers, -1, | |
4114 callback, user_data); | |
4115 } | |
4116 | |
4117 PurpleUtilFetchUrlData * | |
4118 purple_util_fetch_url_request_len(PurpleAccount *account, | |
4119 const char *url, gboolean full, const char *user_agent, gboolean http11, | 4171 const char *url, gboolean full, const char *user_agent, gboolean http11, |
4120 const char *request, gboolean include_headers, gssize max_len, | 4172 const char *request, gboolean include_headers, gssize max_len, |
4121 PurpleUtilFetchUrlCallback callback, void *user_data) | 4173 PurpleUtilFetchUrlCallback callback, void *user_data) |
4122 { | 4174 { |
4123 PurpleUtilFetchUrlData *gfud; | 4175 PurpleUtilFetchUrlData *gfud; |
4400 * we didn't see a '::' and saw exactly 8 chunks. | 4452 * we didn't see a '::' and saw exactly 8 chunks. |
4401 */ | 4453 */ |
4402 return (double_colon && chunks < 8) || (!double_colon && chunks == 8); | 4454 return (double_colon && chunks < 8) || (!double_colon && chunks == 8); |
4403 } | 4455 } |
4404 | 4456 |
4405 /* TODO 3.0.0: Add ipv6 check, too */ | |
4406 gboolean | 4457 gboolean |
4407 purple_ip_address_is_valid(const char *ip) | 4458 purple_ip_address_is_valid(const char *ip) |
4408 { | 4459 { |
4409 return purple_ipv4_address_is_valid(ip); | 4460 return (purple_ipv4_address_is_valid(ip) || purple_ipv6_address_is_valid(ip)); |
4410 } | 4461 } |
4411 | 4462 |
4412 /* Stolen from gnome_uri_list_extract_uris */ | 4463 /* Stolen from gnome_uri_list_extract_uris */ |
4413 GList * | 4464 GList * |
4414 purple_uri_list_extract_uris(const gchar *uri_list) | 4465 purple_uri_list_extract_uris(const gchar *uri_list) |
4584 | 4635 |
4585 /* | 4636 /* |
4586 * This function is copied from g_strerror() but changed to use | 4637 * This function is copied from g_strerror() but changed to use |
4587 * gai_strerror(). | 4638 * gai_strerror(). |
4588 */ | 4639 */ |
4589 G_CONST_RETURN gchar * | 4640 const gchar * |
4590 purple_gai_strerror(gint errnum) | 4641 purple_gai_strerror(gint errnum) |
4591 { | 4642 { |
4592 static GStaticPrivate msg_private = G_STATIC_PRIVATE_INIT; | 4643 static GStaticPrivate msg_private = G_STATIC_PRIVATE_INIT; |
4593 char *msg; | 4644 char *msg; |
4594 int saved_errno = errno; | 4645 int saved_errno = errno; |