libpurple/util.c

changeset 33900
f4924591ef06
parent 33895
72fe8d31bad3
child 33940
b44d15793c83
child 34148
62a874e41930
equal deleted inserted replaced
33899:df88eed08123 33900:f4924591ef06
4326 * gai_strerror(). 4326 * gai_strerror().
4327 */ 4327 */
4328 const gchar * 4328 const gchar *
4329 purple_gai_strerror(gint errnum) 4329 purple_gai_strerror(gint errnum)
4330 { 4330 {
4331 #if GLIB_CHECK_VERSION(2, 32, 0)
4332 static GPrivate msg_private = G_PRIVATE_INIT(g_free);
4333 #else
4331 static GStaticPrivate msg_private = G_STATIC_PRIVATE_INIT; 4334 static GStaticPrivate msg_private = G_STATIC_PRIVATE_INIT;
4335 #endif
4332 char *msg; 4336 char *msg;
4333 int saved_errno = errno; 4337 int saved_errno = errno;
4334 4338
4335 const char *msg_locale; 4339 const char *msg_locale;
4336 4340
4354 errno = saved_errno; 4358 errno = saved_errno;
4355 return msg_utf8; 4359 return msg_utf8;
4356 } 4360 }
4357 } 4361 }
4358 4362
4363 #if GLIB_CHECK_VERSION(2, 32, 0)
4364 msg = g_private_get(&msg_private);
4365 #else
4359 msg = g_static_private_get(&msg_private); 4366 msg = g_static_private_get(&msg_private);
4367 #endif
4360 if (!msg) 4368 if (!msg)
4361 { 4369 {
4362 msg = g_new(gchar, 64); 4370 msg = g_new(gchar, 64);
4371 #if GLIB_CHECK_VERSION(2, 32, 0)
4372 g_private_set(&msg_private, msg);
4373 #else
4363 g_static_private_set(&msg_private, msg, g_free); 4374 g_static_private_set(&msg_private, msg, g_free);
4375 #endif
4364 } 4376 }
4365 4377
4366 sprintf(msg, "unknown error (%d)", errnum); 4378 sprintf(msg, "unknown error (%d)", errnum);
4367 4379
4368 errno = saved_errno; 4380 errno = saved_errno;

mercurial