comparison libpurple/protocols/qq/qq_process.c @ 24897:1300601041ac

g_strsplit_set is new in glib 2.4 g_strv_length is new in glib 2.6 This is one reason I didn't get around to making RPMs for 2.5.3, I don't (yet) know if there are other glib version dependencies to deal with...
author Stu Tomlinson <stu@nosnilmot.com>
date Wed, 07 Jan 2009 01:15:36 +0000
parents 8f757b2139d2
children 7f903e67a995
comparison
equal deleted inserted replaced
24896:380e7149a777 24897:1300601041ac
433 } 433 }
434 434
435 static void process_server_msg(PurpleConnection *gc, guint8 *data, gint data_len, guint16 seq) 435 static void process_server_msg(PurpleConnection *gc, guint8 *data, gint data_len, guint16 seq)
436 { 436 {
437 qq_data *qd; 437 qq_data *qd;
438 guint8 *data_str; 438 guint8 *data_str, i = 0;
439 gchar **segments; 439 gchar **segments, **seg;
440 gchar *funct_str, *from, *to; 440 gchar *funct_str, *from, *to;
441 gint bytes, funct; 441 gint bytes, funct;
442 442
443 g_return_if_fail(data != NULL && data_len != 0); 443 g_return_if_fail(data != NULL && data_len != 0);
444 444
446 446
447 data_str = g_newa(guint8, data_len + 1); 447 data_str = g_newa(guint8, data_len + 1);
448 g_memmove(data_str, data, data_len); 448 g_memmove(data_str, data, data_len);
449 data_str[data_len] = 0x00; 449 data_str[data_len] = 0x00;
450 450
451 segments = g_strsplit_set((gchar *) data_str, "\x1f", 0); 451 segments = g_strsplit((gchar *) data_str, "\x1f", 0);
452 g_return_if_fail(segments != NULL); 452 g_return_if_fail(segments != NULL);
453 if (g_strv_length(segments) < 3) { 453 for (seg = segments; *seg != NULL; seg++)
454 i++;
455 if (i < 3) {
454 purple_debug_warning("QQ", "Server message segments is less than 3\n"); 456 purple_debug_warning("QQ", "Server message segments is less than 3\n");
455 g_strfreev(segments); 457 g_strfreev(segments);
456 return; 458 return;
457 } 459 }
458 460