You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by pi...@apache.org on 2007/11/30 05:51:59 UTC
svn commit: r599694 - in /webservices/axis2/trunk/c/guththila:
include/guththila_buffer.h include/guththila_token.h src/guththila_buffer.c
src/guththila_reader.c src/guththila_stack.c src/guththila_token.c
src/guththila_xml_parser.c
Author: pini
Date: Thu Nov 29 20:51:57 2007
New Revision: 599694
URL: http://svn.apache.org/viewvc?rev=599694&view=rev
Log:
Fixing jira issue 785.
Modified:
webservices/axis2/trunk/c/guththila/include/guththila_buffer.h
webservices/axis2/trunk/c/guththila/include/guththila_token.h
webservices/axis2/trunk/c/guththila/src/guththila_buffer.c
webservices/axis2/trunk/c/guththila/src/guththila_reader.c
webservices/axis2/trunk/c/guththila/src/guththila_stack.c
webservices/axis2/trunk/c/guththila/src/guththila_token.c
webservices/axis2/trunk/c/guththila/src/guththila_xml_parser.c
Modified: webservices/axis2/trunk/c/guththila/include/guththila_buffer.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/guththila/include/guththila_buffer.h?rev=599694&r1=599693&r2=599694&view=diff
==============================================================================
--- webservices/axis2/trunk/c/guththila/include/guththila_buffer.h (original)
+++ webservices/axis2/trunk/c/guththila/include/guththila_buffer.h Thu Nov 29 20:51:57 2007
@@ -40,6 +40,7 @@
size_t pre_tot_data;
unsigned int no_buffers;
short type;
+ guththila_char_t *xml;
}
guththila_buffer_t;
@@ -107,3 +108,7 @@
EXTERN_C_END()
#endif
+
+
+
+
Modified: webservices/axis2/trunk/c/guththila/include/guththila_token.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/guththila/include/guththila_token.h?rev=599694&r1=599693&r2=599694&view=diff
==============================================================================
--- webservices/axis2/trunk/c/guththila/include/guththila_token.h (original)
+++ webservices/axis2/trunk/c/guththila/include/guththila_token.h Thu Nov 29 20:51:57 2007
@@ -35,7 +35,6 @@
last;
int
ref;
-
}
guththila_token_t;
enum guththila_token_type
@@ -76,9 +75,9 @@
#ifndef GUTHTHILA_TOKEN_TO_STRING
#define GUTHTHILA_TOKEN_TO_STRING(tok, string, _env) \
- string = (guththila_char_t *) AXIS2_MALLOC(_env->allocator, (GUTHTHILA_TOKEN_LEN(tok) + 1) * sizeof(guththila_char_t)); \
+string = (guththila_char_t *) AXIS2_MALLOC(_env->allocator, (GUTHTHILA_TOKEN_LEN(tok) + 1) * sizeof(guththila_char_t)); \
memcpy(string, (tok)->start, GUTHTHILA_TOKEN_LEN(tok)); \
- string[GUTHTHILA_TOKEN_LEN(tok)] = 0;
+ string[GUTHTHILA_TOKEN_LEN(tok)] = 0;
#endif /* */
guththila_tok_list_t *
@@ -120,4 +119,18 @@
const axutil_env_t * env);
EXTERN_C_END()
#endif /* */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Modified: webservices/axis2/trunk/c/guththila/src/guththila_buffer.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/guththila/src/guththila_buffer.c?rev=599694&r1=599693&r2=599694&view=diff
==============================================================================
--- webservices/axis2/trunk/c/guththila/src/guththila_buffer.c (original)
+++ webservices/axis2/trunk/c/guththila/src/guththila_buffer.c Thu Nov 29 20:51:57 2007
@@ -31,7 +31,7 @@
buffer->cur_buff = -1;
buffer->pre_tot_data = 0;
buffer->no_buffers = GUTHTHILA_BUFFER_NUMBER_OF_BUFFERS;
-
+ buffer->xml = NULL;
if (size > 0)
{
buffer->buff[0] =(guththila_char_t *) AXIS2_MALLOC(env->allocator,sizeof(guththila_char_t) * size);
@@ -56,7 +56,9 @@
AXIS2_FREE(env->allocator, buffer->buffs_size);
if (buffer->data_size)
AXIS2_FREE(env->allocator, buffer->data_size);
-
+ if(buffer->xml)
+ AXIS2_FREE(env->allocator,buffer->xml);
+
AXIS2_FREE(env->allocator, buffer->buff);
}
@@ -66,6 +68,8 @@
{
AXIS2_FREE(env->allocator, buffer->buff[i]);
}
+ if(buffer->xml)
+ AXIS2_FREE(env->allocator,buffer->xml);
AXIS2_FREE(env->allocator, buffer->buff);
if (buffer->data_size)
AXIS2_FREE(env->allocator, buffer->data_size);
@@ -88,6 +92,7 @@
buffer->data_size =(size_t *) AXIS2_MALLOC(env->allocator,sizeof(size_t) * GUTHTHILA_BUFFER_DEF_SIZE);
buffer->data_size[0] = size;
buffer->no_buffers = 1;
+ buffer->xml = NULL;
return GUTHTHILA_SUCCESS;
}
@@ -96,18 +101,19 @@
{
size_t size = 0, current_size = 0;
int i = 0;
- char *buff = NULL;
+
for (i = 0; i <= buffer->cur_buff; i++)
{
size += buffer->data_size[i];
}
- buff = (char *) AXIS2_MALLOC(env->allocator, sizeof(char) * (size + 1));
+ buffer->xml = (char *) AXIS2_MALLOC(env->allocator, sizeof(char) * (size + 1));
for (i = 0; i <= buffer->cur_buff; i++)
{
- memcpy(buff + current_size, buffer->buff[i], buffer->data_size[i]);
+ memcpy(buffer->xml + current_size, buffer->buff[i], buffer->data_size[i]);
current_size += buffer->data_size[i];
}
- buff[current_size] = '\0';
- return buff;
+
+ buffer->xml[current_size] = '\0';
+ return buffer->xml;
}
Modified: webservices/axis2/trunk/c/guththila/src/guththila_reader.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/guththila/src/guththila_reader.c?rev=599694&r1=599693&r2=599694&view=diff
==============================================================================
--- webservices/axis2/trunk/c/guththila/src/guththila_reader.c (original)
+++ webservices/axis2/trunk/c/guththila/src/guththila_reader.c Thu Nov 29 20:51:57 2007
@@ -85,6 +85,7 @@
fclose(r->fp);
}
AXIS2_FREE(env->allocator, r);
+
}
GUTHTHILA_EXPORT int GUTHTHILA_CALL
guththila_reader_read(
Modified: webservices/axis2/trunk/c/guththila/src/guththila_stack.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/guththila/src/guththila_stack.c?rev=599694&r1=599693&r2=599694&view=diff
==============================================================================
--- webservices/axis2/trunk/c/guththila/src/guththila_stack.c (original)
+++ webservices/axis2/trunk/c/guththila/src/guththila_stack.c Thu Nov 29 20:51:57 2007
@@ -84,7 +84,10 @@
{
if (stack->top > 0)
{
- return stack->data[stack->top-- - 1];;
+
+
+ return stack->data[stack->top-- - 1];
+
}
return NULL;
}
@@ -157,5 +160,16 @@
{
return index < stack->top ? stack->data[index] : NULL;
}
+
+
+
+
+
+
+
+
+
+
+
Modified: webservices/axis2/trunk/c/guththila/src/guththila_token.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/guththila/src/guththila_token.c?rev=599694&r1=599693&r2=599694&view=diff
==============================================================================
--- webservices/axis2/trunk/c/guththila/src/guththila_token.c (original)
+++ webservices/axis2/trunk/c/guththila/src/guththila_token.c Thu Nov 29 20:51:57 2007
@@ -228,3 +228,8 @@
}
+
+
+
+
+
Modified: webservices/axis2/trunk/c/guththila/src/guththila_xml_parser.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/guththila/src/guththila_xml_parser.c?rev=599694&r1=599693&r2=599694&view=diff
==============================================================================
--- webservices/axis2/trunk/c/guththila/src/guththila_xml_parser.c (original)
+++ webservices/axis2/trunk/c/guththila/src/guththila_xml_parser.c Thu Nov 29 20:51:57 2007
@@ -367,6 +367,7 @@
i = 0;
guththila_namespace_t * namesp = NULL;
guththila_attr_t * attr = NULL;
+ /* guththila_element_t* elem = NULL;*/
if (m->prefix)
{
guththila_tok_list_release_token(&m->tokens, m->prefix, env);
@@ -421,6 +422,22 @@
AXIS2_FREE(env->allocator, namesp);
}
}
+/*
+ size = GUTHTHILA_STACK_SIZE(m->elem);
+ for (i = 0; i < size; i++)
+ {
+ elem =
+ (guththila_element_t *) guththila_stack_pop(&m->elem, env);
+ if (elem)
+ {
+ if (elem->name)
+ guththila_tok_list_release_token(&m->tokens, elem->name, env);
+ if (elem->prefix)
+ guththila_tok_list_release_token(&m->tokens, elem->prefix, env);
+ AXIS2_FREE(env->allocator, elem);
+ }
+ }
+ guththila_stack_un_init(&m->elem,env);*/
guththila_stack_un_init(&m->namesp, env);
guththila_tok_list_free_data(&m->tokens, env);
guththila_buffer_un_init(&m->buffer, env);
@@ -434,6 +451,7 @@
i = 0;
guththila_namespace_t * namesp = NULL;
guththila_attr_t * attr = NULL;
+/* guththila_element_t* elem = NULL;*/
if (m->prefix)
{
guththila_tok_list_release_token(&m->tokens, m->prefix, env);
@@ -486,9 +504,26 @@
AXIS2_FREE(env->allocator, namesp);
}
}
+ /* size = GUTHTHILA_STACK_SIZE(m->elem);
+ for (i = 0; i < size; i++)
+ {
+ elem =
+ (guththila_element_t *) guththila_stack_pop(&m->elem, env);
+ if (elem)
+ {
+ if (elem->name)
+ guththila_tok_list_release_token(&m->tokens, elem->name, env);
+ if (elem->prefix)
+ guththila_tok_list_release_token(&m->tokens, elem->prefix, env);
+ AXIS2_FREE(env->allocator, elem);
+ }
+ }
+ guththila_stack_un_init(&m->elem,env);*/
+
guththila_stack_un_init(&m->namesp, env);
guththila_tok_list_free_data(&m->tokens, env);
guththila_buffer_un_init(&m->buffer, env);
+ AXIS2_FREE(env->allocator,m);
return GUTHTHILA_SUCCESS;
}
GUTHTHILA_EXPORT int GUTHTHILA_CALL
@@ -1089,7 +1124,7 @@
guththila_char_t *str = NULL;
if (m->value)
{
- GUTHTHILA_TOKEN_TO_STRING(m->value, str, env);
+ GUTHTHILA_TOKEN_TO_STRING(m->value, str, env);
return str;
}
return NULL;
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org