comparison libpurple/dbus-server.c @ 32827:4a34689eeb33 default tip

merged from im.pidgin.pidgin
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Sat, 19 Nov 2011 14:42:54 +0900
parents 8b7c7c6bf985
children
comparison
equal deleted inserted replaced
32692:0f94ec89f0bc 32827:4a34689eeb33
298 else 298 else
299 return ""; 299 return "";
300 } 300 }
301 301
302 dbus_int32_t * 302 dbus_int32_t *
303 purple_dbusify_GList(GList *list, gboolean free_memory, dbus_int32_t *len) 303 purple_dbusify_GList(GList *list, dbus_int32_t *len)
304 { 304 {
305 dbus_int32_t *array; 305 dbus_int32_t *array;
306 int i; 306 int i;
307 GList *elem; 307 GList *elem;
308 308
309 *len = g_list_length(list); 309 *len = g_list_length(list);
310 array = g_new0(dbus_int32_t, *len); 310 array = g_new0(dbus_int32_t, *len);
311 for (i = 0, elem = list; elem != NULL; elem = elem->next, i++) 311 for (i = 0, elem = list; elem != NULL; elem = elem->next, i++)
312 array[i] = purple_dbus_pointer_to_id(elem->data); 312 array[i] = purple_dbus_pointer_to_id(elem->data);
313 313
314 if (free_memory)
315 g_list_free(list);
316
317 return array; 314 return array;
318 } 315 }
319 316
320 dbus_int32_t * 317 dbus_int32_t *
321 purple_dbusify_GSList(GSList *list, gboolean free_memory, dbus_int32_t *len) 318 purple_dbusify_GSList(GSList *list, dbus_int32_t *len)
322 { 319 {
323 dbus_int32_t *array; 320 dbus_int32_t *array;
324 int i; 321 int i;
325 GSList *elem; 322 GSList *elem;
326 323
327 *len = g_slist_length(list); 324 *len = g_slist_length(list);
328 array = g_new0(dbus_int32_t, *len); 325 array = g_new0(dbus_int32_t, *len);
329 for (i = 0, elem = list; elem != NULL; elem = elem->next, i++) 326 for (i = 0, elem = list; elem != NULL; elem = elem->next, i++)
330 array[i] = purple_dbus_pointer_to_id(elem->data); 327 array[i] = purple_dbus_pointer_to_id(elem->data);
331 328
332 if (free_memory)
333 g_slist_free(list);
334
335 return array; 329 return array;
336 } 330 }
337 331
338 gpointer * 332 gpointer *
339 purple_GList_to_array(GList *list, gboolean free_memory, dbus_int32_t *len) 333 purple_GList_to_array(GList *list, dbus_int32_t *len)
340 { 334 {
341 gpointer *array; 335 gpointer *array;
342 int i; 336 int i;
343 GList *elem; 337 GList *elem;
344 338
345 *len = g_list_length(list); 339 *len = g_list_length(list);
346 array = g_new0(gpointer, *len); 340 array = g_new0(gpointer, *len);
347 for (i = 0, elem = list; elem != NULL; elem = elem->next, i++) 341 for (i = 0, elem = list; elem != NULL; elem = elem->next, i++)
348 array[i] = elem->data; 342 array[i] = elem->data;
349 343
350 if (free_memory)
351 g_list_free(list);
352
353 return array; 344 return array;
354 } 345 }
355 346
356 gpointer * 347 gpointer *
357 purple_GSList_to_array(GSList *list, gboolean free_memory, dbus_int32_t *len) 348 purple_GSList_to_array(GSList *list, dbus_int32_t *len)
358 { 349 {
359 gpointer *array; 350 gpointer *array;
360 int i; 351 int i;
361 GSList *elem; 352 GSList *elem;
362 353
363 *len = g_slist_length(list); 354 *len = g_slist_length(list);
364 array = g_new0(gpointer, *len); 355 array = g_new0(gpointer, *len);
365 for (i = 0, elem = list; elem != NULL; elem = elem->next, i++) 356 for (i = 0, elem = list; elem != NULL; elem = elem->next, i++)
366 array[i] = elem->data; 357 array[i] = elem->data;
367
368 if (free_memory)
369 g_slist_free(list);
370 358
371 return array; 359 return array;
372 } 360 }
373 361
374 GHashTable * 362 GHashTable *