/soc/2015/nakulgulati/main: 77c0f8039ec6: hangouts: util parser ...

[email protected]
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: 77c0f8039ec69fcf542ef83be99ab9f0d4e24df3
Author:	 Nakul Gulati
Date:	 2015-07-14 16:10 +0800
Branch:	 hangouts
URL: https://hg.pidgin.im/soc/2015/nakulgulati/main/rev/77c0f8039ec6

Description:

hangouts: util parser returns hashtable

diffstat:

 libpurple/protocols/hangouts/util.c |  14 +++++++++++---
 libpurple/protocols/hangouts/util.h |   2 +-
 2 files changed, 12 insertions(+), 4 deletions(-)

diffs (52 lines):

diff --git a/libpurple/protocols/hangouts/util.c b/libpurple/protocols/hangouts/util.c
--- a/libpurple/protocols/hangouts/util.c
+++ b/libpurple/protocols/hangouts/util.c
@@ -27,12 +27,15 @@ hangouts_util_escape_string(gchar *strin
 	return g_strescape(string,NULL);
 }
 
-void
+GHashTable *
 hangouts_util_parse(gchar *raw_data)
 {
 	GRegex *regex_script_data,*regex_key_data;
 	GMatchInfo *match_info;
 	gchar *escaped_data;
+	GHashTable *chat_init_data;
+
+	chat_init_data = g_hash_table_new(g_str_hash, g_str_equal);
 
 	escaped_data = hangouts_util_escape_string(raw_data);
 
@@ -45,13 +48,18 @@ hangouts_util_parse(gchar *raw_data)
 		gchar *script_data = g_match_info_fetch (match_info, 0);
 		gchar **key_data = g_regex_split(regex_key_data, script_data, 0);
 
-		/*key_data[1] - key
-		key_data[2] - data*/
+		g_hash_table_insert(chat_init_data, key_data[1], key_data[2]);
 
 		g_match_info_next (match_info, NULL);
 		g_free(script_data);
 		g_free(key_data);
 	}
 
+	g_match_info_free (match_info);
+	g_regex_unref (regex_key_data);
+	g_regex_unref (regex_script_data);
+
+	return chat_init_data;
+
 }
 
diff --git a/libpurple/protocols/hangouts/util.h b/libpurple/protocols/hangouts/util.h
--- a/libpurple/protocols/hangouts/util.h
+++ b/libpurple/protocols/hangouts/util.h
@@ -26,6 +26,6 @@ static const gchar *HANGOUTS_CHAT_INIT_R
 static const gchar *HANGOUTS_CHAT_KEY_DATA_REGEX = "(?:key: \'(ds:.{1,2})\')(?:.*?)(?:data:function..{return (.*?)}}.;<\/script>)";
 
 gchar *hangouts_util_escape_string(gchar *string);
-void hangouts_util_parse(gchar *raw_data);
+GHashTable *hangouts_util_parse(gchar *raw_data);
 
 #endif _UTIL_H

_______________________________________________
Commits mailing list
[email protected]
https://pidgin.im/cgi-bin/mailman/listinfo/commits
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.