You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by da...@apache.org on 2004/03/22 04:45:14 UTC

cvs commit: ws-axis/c/src/xml/txpp/lib xpp.c

damitha     2004/03/21 19:45:14

  Modified:    c/src/xml/txpp/lib xpp.c
  Log:
  
  
  Revision  Changes    Path
  1.2       +28 -37    ws-axis/c/src/xml/txpp/lib/xpp.c
  
  Index: xpp.c
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/xml/txpp/lib/xpp.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- xpp.c	19 Mar 2004 13:45:58 -0000	1.1
  +++ xpp.c	22 Mar 2004 03:45:14 -0000	1.2
  @@ -10,15 +10,13 @@
   #endif
   #include "tag.h"
   
  -typedef const XML_Char *KEY;
   
   #define MALLOC(s) (ct->m_mem.malloc_fcn((s)))
   #define MEMMOVE(p1, p2, s) (ct->m_mem.memmove_fcn((p1), (p2), (s)))
   #define REALLOC(p,s) (ct->m_mem.realloc_fcn((p),(s)))
   #define FREE(p) (ct->m_mem.free_fcn((p)))
  -#define	MIN_BUFF_SZ	64//0x10000
  -#define INIT_BUFFER_SIZE 256
  -#define INIT_TAG_SIZE 64
  +#define	MIN_BUFF_SZ	512//0x10000
  +#define INIT_BUFFER_SIZE 512 //keep INIT_BUFFER_SIZE <= MIN_BUFF_SZ
   #define protocolEncodingName (ct->m_protocolEncodingName)
   #define initEncoding (ct->m_initEncoding)
   #define encoding (ct->m_encoding)
  @@ -31,6 +29,7 @@
   #define eventEndPtr (ct->m_eventEndPtr)
   #define XmlConvert XmlUtf8Convert
   #define data_counter (ct->m_data_counter)
  +#define namespaceSeparator (ct->m_namespaceSeparator)
   
   
   int isDone = 0;
  @@ -59,6 +58,7 @@
     	const char *m_eventPtr;
     	const char *m_eventEndPtr;
   	const XML_Memory_Handling_Suite m_mem;
  +	XML_Char m_namespaceSeparator;
   	
   	int (*get_block)(char *buff, int buff_sz, int *numchars);
   
  @@ -138,7 +138,6 @@
   		//printf("ct->next:%s\n", ct->next);
   			if(XML_ERROR_NONE == ret_status)
   			{
  -				//process_data(ct);
   				return XML_ERROR_NONE;
   			}
   		}	
  @@ -157,15 +156,9 @@
   	if (sz < MIN_BUFF_SZ) {
   		int ii, n, m;
   		n = (int)(ct->next - ct->dirty);
  -		if (n < ct->buff_sz)
  -			sz = ct->buff_sz - n;
  -		else//n = ct->buff-sz
  -		{
  -		//return -1;//no, double the buffersize.
  -			ct->buff_sz *= 2;
  -			sz = ct->buff_sz - n;
  -			ct->buff = REALLOC(ct->buff, ct->buff_sz);
  -		}
  +		ct->buff_sz *= 2;
  +		sz = ct->buff_sz - n;
  +		ct->buff = REALLOC(ct->buff, ct->buff_sz);
   
   		m = (int)(ct->dirty - ct->buff);
   		MEMMOVE(ct->buff, ct->dirty, n);
  @@ -174,9 +167,9 @@
   		ii = 0;
   		while (ii < ct->data.num_ptrs)
   			ct->data.ptrs[ii++] -= m;
  -		//num_chars = n;
   	}
   	
  +	//printf("ct->buff_sz:%d\n", ct->buff_sz);
   	if(!ct->get_block(ct->next, sz, &num_chars)) {
   		return XML_TEST_ERROR;
   	}
  @@ -190,7 +183,7 @@
   	int done;
   	*numchars = 0;
   	len = fread(buff, 1, buff_sz, stdin);
  -	//printf("len:%d\n", len);
  +	printf("len:%d\n", len);
   	*numchars += len;
           if (ferror(stdin))
           {
  @@ -250,7 +243,7 @@
     	}
   
   	ct->buff_sz = INIT_BUFFER_SIZE;
  -	ct->utf8buff_sz = INIT_TAG_SIZE;
  +	ct->utf8buff_sz = ct->buff_sz;
           char* buff = (char*) malloc(ct->buff_sz * sizeof(char));
           char* utf8buff = (char*) malloc(ct->utf8buff_sz * sizeof(char));
   	if(buff == NULL || utf8buff == NULL)
  @@ -259,6 +252,10 @@
   	ct->utf8buff = utf8buff;
   	
   
  +	namespaceSeparator = '!';
  +  	ns = XML_FALSE;
  +
  +
   	if(XML_ERROR_NONE == parser_init(ct, encodingName))
   		return ct;
   	else
  @@ -278,12 +275,12 @@
           	ct->data.ptrs = NULL;
           	ct->data.utf8ptrs = NULL;
           	ct->data.ptrs_sz = 8;
  -		ct->utf8buff_sz = INIT_BUFFER_SIZE;
   		data_counter = 0;
   		eventPtr = NULL;
     		eventEndPtr = NULL;
   		protocolEncodingName = encodingName;
   
  +
   		return XML_ERROR_NONE;
   	}
   	else
  @@ -354,7 +351,6 @@
                   }
                   data->utf8ptrs = ptrs;
                   data->ptrs_sz = sz;
  -                //printf("sz:%d\n", sz);
           }
   
           data->utf8ptrs[data->num_ptrs_utf8++] = ptr;
  @@ -371,10 +367,9 @@
           int totLen = 0;
   	int wordLen = 0;
   	int tempDiff;
  -	XML_Char *toPtr;
  -	toPtr = (XML_Char *) ct->utf8buff;	
  -	XML_Char *startPtr = (XML_Char *) ct->utf8buff;
  -	XML_Char *endPtr = (XML_Char *) ct->utf8buff;
  +	XML_Char* toPtr = (XML_Char *) ct->utf8buff;	
  +	XML_Char* startPtr = (XML_Char *) ct->utf8buff;
  +	XML_Char* endPtr = (XML_Char *) ct->utf8buff;
   	while(intCount < ct->data.num_ptrs)
   	{
   		const char *rawNameEnd = &ct->data.ptrs[intCount + 1][1];
  @@ -386,10 +381,15 @@
   		//printf("fromPtr:\n\n%s\n\n", fromPtr);
   		//printf("rawNameEnd:\n\n%s\n\n", rawNameEnd);
   		
  -		/*char* mytemp = malloc(1024);
  -        	XmlDamConvert(encoding, &fromPtr, rawNameEnd,
  -        		(ICHAR **)&toPtr, (ICHAR *)mytemp);
  -		*/
  +        	if(ct->utf8buff_sz < ct->buff_sz)
  +        	{
  +			ct->utf8buff_sz = 2 * ct->buff_sz;
  +			//printf("utf8buff_sz:%d\n", ct->utf8buff_sz);
  +        		char *temp = (char *)REALLOC(ct->utf8buff, ct->utf8buff_sz);
  +              		if (temp == NULL)
  +                		return XML_ERROR_NO_MEMORY;
  +              		ct->utf8buff = temp;
  +        	}
           	XmlDamConvert(encoding, &fromPtr, rawNameEnd,
           		(ICHAR **)&toPtr, (ICHAR *)ct->utf8buff + ct->utf8buff_sz);
   		//printf("startPtr:\n%s\n", startPtr);
  @@ -397,16 +397,7 @@
   		wordLen = toPtr - startPtr;
   		//printf("wordLen:%d\n", wordLen);
           	totLen += wordLen;
  -		//printf("totLen:%d\n", totLen);
  -        	if(ct->utf8buff_sz <= totLen)
  -        	{
  -              		ct->utf8buff_sz = 2 * ct->utf8buff_sz;
  -        		char *temp = (char *)REALLOC(ct->utf8buff, ct->utf8buff_sz);
  -              		if (temp == NULL)
  -                		return XML_ERROR_NO_MEMORY;
  -              		ct->utf8buff = temp;
  -        	}
  -              	//toPtr = (XML_Char *)ct->utf8buff + convLen;
  +        	
   		endPtr = toPtr - 1;
   		add_utf8_ptr(startPtr, &ct->data);
   		add_utf8_ptr(endPtr, &ct->data);