diff options
author | Vidhoon Vishwanathan <vidhu2366@gmail.com> | 2013-07-21 17:36:37 +0000 |
---|---|---|
committer | Vidhoon Vishwanathan <vidhu2366@gmail.com> | 2013-07-21 17:36:37 +0000 |
commit | 08fb46250e56f097ddf1e5f3a5d0be8921700cb5 (patch) | |
tree | aa2b74dc93e5b711ee068a6e73df070b73afa120 | |
parent | bce2cdec74eff529336b3497585fbf225b414bbc (diff) | |
download | enchant-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.c | 8 |
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); |