summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVidhoon Vishwanathan <vidhu2366@gmail.com>2013-07-21 17:36:37 +0000
committerVidhoon Vishwanathan <vidhu2366@gmail.com>2013-07-21 17:36:37 +0000
commit08fb46250e56f097ddf1e5f3a5d0be8921700cb5 (patch)
treeaa2b74dc93e5b711ee068a6e73df070b73afa120
parentbce2cdec74eff529336b3497585fbf225b414bbc (diff)
downloadenchant-08fb46250e56f097ddf1e5f3a5d0be8921700cb5.tar.gz
[COMPDICT] [FIX] Include language tag extraction
The second arg of enchant_broker_request_composite_dict has several language tags combined. strtok is used for extracting tags using delimiter. This patch fixes strtok invocation by passing argument as expected and also fixes an iteration bug. Signed-off-by: Vidhoon Viswanathan <vidhu2366@gmail.com> git-svn-id: svn+ssh://svn.abisource.com/svnroot/enchant/branches/gsoc2013cdict@33284 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6
-rw-r--r--src/enchant.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/enchant.c b/src/enchant.c
index 8d3c8ed..4892315 100644
--- a/src/enchant.c
+++ b/src/enchant.c
@@ -1883,13 +1883,14 @@ enchant_broker_request_composite_dict (EnchantBroker * broker, const char *const
char *normalized_tag,*lang_tag;
char delimiter[] = ":"; // the tag_string will have several language tags seperated by ":" used as delimiter
GSList *dict_list = NULL;
+ char tags[strlen(tag_string)];
g_return_val_if_fail (broker, NULL);
g_return_val_if_fail (tag_string && strlen(tag_string), NULL);
enchant_broker_clear_error (broker);
-
- lang_tag = strtok(tag_string, delimiter);
+ strcpy(tags,tag_string);
+ lang_tag = strtok(tags, delimiter);
while(lang_tag != NULL)
{
normalized_tag = enchant_normalize_dictionary_tag (lang_tag);
@@ -1902,10 +1903,11 @@ enchant_broker_request_composite_dict (EnchantBroker * broker, const char *const
{
char * iso_639_only_tag;
iso_639_only_tag = enchant_iso_639_from_tag (normalized_tag);
- dict = _enchant_broker_request_dict (broker, iso_639_only_tag);
+ dict = _enchant_broker_request_dict (broker, iso_639_only_tag);
dict_list = g_slist_append(dict_list,dict);
g_free (iso_639_only_tag);
}
+ lang_tag = strtok(NULL, delimiter);
}
g_free (normalized_tag);