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 ma...@apache.org on 2008/05/13 13:25:33 UTC

svn commit: r655820 - /webservices/axis2/branches/c/post_1_4_mtom/c/axiom/src/attachments/mime_parser.c

Author: manjula
Date: Tue May 13 04:25:33 2008
New Revision: 655820

URL: http://svn.apache.org/viewvc?rev=655820&view=rev
Log:
changing the read length to a fixed size.

Modified:
    webservices/axis2/branches/c/post_1_4_mtom/c/axiom/src/attachments/mime_parser.c

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/axiom/src/attachments/mime_parser.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/axiom/src/attachments/mime_parser.c?rev=655820&r1=655819&r2=655820&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/axiom/src/attachments/mime_parser.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/axiom/src/attachments/mime_parser.c Tue May 13 04:25:33 2008
@@ -274,7 +274,7 @@
     {
         malloc_len = buf_array[buf_num] + len_array[buf_num] - pos - 4;
         buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (
-            malloc_len + 1));
+            size + 1));
         memcpy(buffer, pos + 4, malloc_len);
         axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num);
         buf_array[buf_num] = buffer;
@@ -285,7 +285,7 @@
     {
         malloc_len = len_array[buf_num] - search_info->match_len2;
         buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (
-            malloc_len + 1));
+            size + 1));
         memcpy(buffer, buf_array[buf_num] + search_info->match_len2, malloc_len);        
         axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num);
         buf_array[buf_num] = buffer;
@@ -325,7 +325,7 @@
             }
             malloc_len = len_array[buf_num] - search_info->match_len1 - temp_mime_boundary_size;
             buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (
-                malloc_len + 1));
+                size + 1));
             memcpy(buffer, pos + temp_mime_boundary_size, malloc_len);
             axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num);
             buf_array[buf_num] = buffer;
@@ -352,7 +352,7 @@
             }
             malloc_len = len_array[buf_num] - search_info->match_len2;
             buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (
-                malloc_len + 1));
+                size + 1));
             memcpy(buffer, buf_array[buf_num] + search_info->match_len2, malloc_len);
             axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num);
             buf_array[buf_num] = buffer;
@@ -401,7 +401,7 @@
                 }
                 malloc_len = buf_array[buf_num] + len_array[buf_num] - pos - 4;
                 buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (
-                    malloc_len + 1));
+                    size + 1));
                 memcpy(buffer, pos + 4, malloc_len);
                 axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num);
                 buf_array[buf_num] = buffer;
@@ -427,7 +427,7 @@
                 }
                 malloc_len = len_array[buf_num] - search_info->match_len2;
                 buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (
-                    malloc_len + 1));
+                    size + 1));
                 memcpy(buffer, buf_array[buf_num] + search_info->match_len2, malloc_len);
                 axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num);
                 buf_array[buf_num] = buffer;
@@ -508,7 +508,7 @@
             {
                 malloc_len = len_array[buf_num] - search_info->match_len1 - temp_mime_boundary_size;
                 buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (
-                    malloc_len + 1));
+                    size + 1));
                 memcpy(buffer, pos + temp_mime_boundary_size, malloc_len);
                 axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num);
                 buf_array[buf_num] = buffer;
@@ -518,7 +518,7 @@
             {
                 malloc_len = len_array[buf_num] - search_info->match_len2;
                 buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (
-                    malloc_len + 1));
+                    size + 1));
                 memcpy(buffer, buf_array[buf_num] + search_info->match_len2, malloc_len);
                 axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num);
                 buf_array[buf_num] = buffer;
@@ -707,7 +707,7 @@
         {
             if(!(search_info->handler))
             {
-                search_info->handler = init_handler(); /*fopen("temp", "a+");*/
+                search_info->handler = init_handler();
                 if(!(search_info->handler))
                 {
                     return NULL;
@@ -716,12 +716,10 @@
 
             status = axis2_caching_callback(env, buf_array[*buf_num - 1],
                 len_array[*buf_num - 1], search_info->handler);
-            /*printf("\nBuffer\n%s\n", buf_array[*buf_num - 1]);*/
             if(status == AXIS2_FAILURE)
             {
                 return NULL;
             }
-            /*memset(buf_array[*buf_num - 1], 0, len_array[*buf_num - 1]);*/
             temp = buf_array[*buf_num - 1];    
             buf_array[*buf_num - 1] = buf_array[*buf_num];
             buf_array[*buf_num] = temp;
@@ -730,7 +728,9 @@
             len_array[*buf_num] = temp_length;
             if(buf_array[*buf_num])
             {
-                len = callback(buf_array[*buf_num], len_array[*buf_num], (void *) callback_ctx);
+                printf("requested: %d\n", size);
+                len = callback(buf_array[*buf_num], /*len_array[*buf_num]*/size, (void *) callback_ctx);
+                printf("read length: %d\n", len);
             }
         }
         else
@@ -739,15 +739,13 @@
             buf_array[*buf_num] = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (size + 1));
             if(buf_array[*buf_num])
             {
+                printf("Filling to the malloc buf\n");
+                printf("requested: %d\n", size);
                 len = callback(buf_array[*buf_num], size, (void *) callback_ctx);
+                printf("read length: %d\n", len);
             }
         }
         
-        /*if(buf_array[*buf_num])
-        {
-            len = callback(buf_array[*buf_num], size, (void *) callback_ctx);
-        }*/
-
         if(len > 0)
         {
             len_array[*buf_num] = len;
@@ -757,6 +755,7 @@
         }
         else
         {
+            printf("\nNo data \n");
             break;
         }
                 
@@ -816,7 +815,6 @@
         {
             return NULL;
         }
-        /*fclose(search_info->handler);*/
     }
     return found;
 }
@@ -958,6 +956,7 @@
 
             if(search_length < 0)
             {
+                printf("\nSearch lenth is mimus\n");
                 break;
             }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org