bundle *reply = bundle_create();
char *info = NULL;
char *request_id = NULL;
+ char *tmp_str = NULL;
PyObject* args = NULL;
PyObject* lists = NULL;
unsigned static int len = 0;
if(tokens[i]!=NULL)
{
memset(tokens[i], 0, BUF_LEN_128);
- strncpy(tokens[i], nltk_get_string_from_element(nltk_get_element_from_list_by_index(lists, i)), BUF_LEN_128-1);
+ tmp_str = nltk_get_string_from_element(nltk_get_element_from_list_by_index(lists, i));
+ if(tmp_str!=NULL)
+ {
+ strncpy(tokens[i], tmp_str, BUF_LEN_128-1);
+ free(tmp_str);
+ }
}
else
{
bundle_add_str(reply, "command", "word_tokenize");
bundle_add_str_array(reply, "return_token", tokens, len);
PINFO("word_tokenize process done");
+ for(int j = 0 ;j < len ;j++)
+ {
+ free(tokens[j]);
+ }
break;
case NLTK_CMD_POSTAG:
args = nltk_make_args_from_string(info);
if(tag[i]!=NULL)
{
memset(tag[i], 0, BUF_LEN_128);
- strncpy(tag[i], nltk_get_string_from_element(nltk_get_element_from_tuple_by_index(pos_elm_tuple, 0)), BUF_LEN_128-1);
+ tmp_str = nltk_get_string_from_element(nltk_get_element_from_tuple_by_index(pos_elm_tuple, 0));
+ if(tmp_str!=NULL)
+ {
+ strncpy(tag[i], tmp_str, BUF_LEN_128-1);
+ free(tmp_str);
+ }
}
else
{
if(token[i]!=NULL)
{
memset(token[i], 0, BUF_LEN_128);
- strncpy(token[i], nltk_get_string_from_element(nltk_get_element_from_tuple_by_index(pos_elm_tuple, 1)), BUF_LEN_128-1);
+ tmp_str = nltk_get_string_from_element(nltk_get_element_from_tuple_by_index(pos_elm_tuple, 1));
+ if(tmp_str!=NULL)
+ {
+ strncpy(token[i], tmp_str, BUF_LEN_128-1);
+ free(tmp_str);
+ }
}
else
{
bundle_add_str(reply, "command", "pos_tag");
bundle_add_str_array(reply, "return_tag", tag, len);
bundle_add_str_array(reply, "return_token", token, len);
+ for(int j = 0 ;j < len ;j++)
+ {
+ free(tag[j]);
+ free(token[j]);
+ }
PINFO("pos_tag process done");
break;
case NLTK_CMD_NECHUNK:
if(s_tag[i]!=NULL)
{
memset(s_tag[i], 0, BUF_LEN_128);
- strncpy(s_tag[i], nltk_get_string_from_element(nltk_get_element_from_tuple_by_index(pos_elm_tuple, 0)), BUF_LEN_128-1);
+ tmp_str = nltk_get_string_from_element(nltk_get_element_from_tuple_by_index(pos_elm_tuple, 0));
+ if(tmp_str!=NULL)
+ {
+ strncpy(s_tag[i], tmp_str, BUF_LEN_128-1);
+ free(tmp_str);
+ }
}
else
{
if(s_token[i]!=NULL)
{
memset(s_token[i], 0, BUF_LEN_128);
- strncpy(s_token[i], nltk_get_string_from_element(nltk_get_element_from_tuple_by_index(pos_elm_tuple, 1)), BUF_LEN_128-1);
+ tmp_str = nltk_get_string_from_element(nltk_get_element_from_tuple_by_index(pos_elm_tuple, 1));
+ if(tmp_str!=NULL)
+ {
+ strncpy(s_token[i], tmp_str, BUF_LEN_128-1);
+ free(tmp_str);
+ }
}
else
{
bundle_add_str_array(reply, "return_tag", s_tag, len);
bundle_add_str_array(reply, "return_token", s_token, len);
PINFO("ne_chunk process done");
+ for(int j = 0 ;j < len ;j++)
+ {
+ free(s_tag[j]);
+ free(s_token[j]);
+ }
break;
case NLTK_CMD_LEMMATIZE:
args = nltk_make_args_from_string(info);
if(lem_buf[0]!=NULL)
{
memset(lem_buf[0], 0, BUF_LEN_128);
- strncpy(lem_buf[0], nltk_get_string_from_element(lm_result), BUF_LEN_128-1);
+ tmp_str = nltk_get_string_from_element(lm_result);
+ if(tmp_str!=NULL)
+ {
+ strncpy(lem_buf[0], tmp_str, BUF_LEN_128-1);
+ free(tmp_str);
+ }
bundle_add_str(reply, "command", "lemmatize");
bundle_add_str_array(reply, "return_token", lem_buf, 1);
PINFO("lemmatize process done");
+ free(lem_buf[0]);
}
else
{
if(lang_buf[0]!=NULL)
{
memset(lang_buf[0], 0, BUF_LEN_128);
- strncpy(lang_buf[0], nltk_get_string_from_element(ld_result), BUF_LEN_128-1);
+ tmp_str = nltk_get_string_from_element(ld_result);
+ if(tmp_str!=NULL)
+ {
+ strncpy(lang_buf[0], tmp_str, BUF_LEN_128-1);
+ free(tmp_str);
+ }
bundle_add_str(reply, "command", "langdetect");
bundle_add_str_array(reply, "return_token", lang_buf, 1);
PINFO("langdetect process done");
+ free(lang_buf[0]);
}
else
{