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