diff options
| author | Dmitry Stogov <dmitry@php.net> | 2004-01-05 16:44:01 +0000 | 
|---|---|---|
| committer | Dmitry Stogov <dmitry@php.net> | 2004-01-05 16:44:01 +0000 | 
| commit | de6184edee81007ca39616a0a05783f933ffce00 (patch) | |
| tree | c8e210984891c36c356057a195b0ee6a4e4c6c1f /ext/soap/php_xml.c | |
| parent | 2e2d5d78f0f83715e79df152bba0f4d543d69312 (diff) | |
| download | php-git-de6184edee81007ca39616a0a05783f933ffce00.tar.gz | |
PHP5 support, better encoding and WSDL support, interop round 2 base and groupB
Diffstat (limited to 'ext/soap/php_xml.c')
| -rw-r--r-- | ext/soap/php_xml.c | 41 | 
1 files changed, 18 insertions, 23 deletions
diff --git a/ext/soap/php_xml.c b/ext/soap/php_xml.c index 786ebc97a5..b2b2b03786 100644 --- a/ext/soap/php_xml.c +++ b/ext/soap/php_xml.c @@ -7,13 +7,12 @@ int php_stream_xmlIO_match_wrapper(const char *filename)  {  	TSRMLS_FETCH();  	return php_stream_locate_url_wrapper(filename, NULL, STREAM_LOCATE_WRAPPERS_ONLY TSRMLS_CC) ? 1 : 0; -  }  void *php_stream_xmlIO_open_wrapper(const char *filename)  {  	TSRMLS_FETCH(); -	return php_stream_open_wrapper(filename, "rb", ENFORCE_SAFE_MODE|REPORT_ERRORS, NULL); +	return php_stream_open_wrapper((char*)filename, "rb", ENFORCE_SAFE_MODE|REPORT_ERRORS, NULL);  }  int php_stream_xmlIO_read(void *context, char *buffer, int len) @@ -91,31 +90,29 @@ int node_is_equal_ex(xmlNodePtr node, char *name, char *ns)  xmlAttrPtr get_attribute_ex(xmlAttrPtr node, char *name, char *ns)  {  	xmlAttrPtr trav = node; -	if(node == NULL) return NULL; -	do { +	while (trav!=NULL) {  		if(attr_is_equal_ex(trav, name, ns))  			return trav; -	} while(trav = trav->next); +		trav = trav->next; +	}  	return NULL;  }  xmlNodePtr get_node_ex(xmlNodePtr node, char *name, char *ns)  {  	xmlNodePtr trav = node; -	if(node == NULL) return NULL; -	do { +	while (trav!=NULL) {  		if(node_is_equal_ex(trav, name, ns))  			return trav; -	} while(trav = trav->next); +		trav = trav->next; +	}  	return NULL;  }  xmlNodePtr get_node_recurisve_ex(xmlNodePtr node, char *name, char *ns)  {  	xmlNodePtr trav = node; -	if(node == NULL) return NULL; -	do -	{ +	while (trav != NULL) {  		if(node_is_equal_ex(trav, name, ns))  			return trav;  		else @@ -128,7 +125,8 @@ xmlNodePtr get_node_recurisve_ex(xmlNodePtr node, char *name, char *ns)  					return tmp;  			}  		} -	} while(trav = trav->next); +		trav = trav->next; +	}  	return NULL;  } @@ -137,9 +135,7 @@ xmlNodePtr get_node_with_attribute_ex(xmlNodePtr node, char *name, char *name_ns  	xmlNodePtr trav = node, cur = NULL;  	xmlAttrPtr attr; -	if(node == NULL) return NULL; -	do -	{ +	while (trav != NULL) {  		if(name != NULL)  		{  			cur = get_node_ex(trav, name, name_ns); @@ -162,7 +158,8 @@ xmlNodePtr get_node_with_attribute_ex(xmlNodePtr node, char *name, char *name_ns  					return tmp;  			}  		} -	}while(trav = trav->next); +		trav = trav->next; +	}  	return NULL;  } @@ -171,9 +168,7 @@ xmlNodePtr get_node_with_attribute_recursive_ex(xmlNodePtr node, char *name, cha  	xmlNodePtr trav = node, cur;  	xmlAttrPtr attr; -	if(node == NULL) return NULL; -	do -	{ +	while (trav != NULL) {  		if(name != NULL)  		{  			cur = get_node_recurisve_ex(trav, name, name_ns); @@ -196,7 +191,8 @@ xmlNodePtr get_node_with_attribute_recursive_ex(xmlNodePtr node, char *name, cha  					return tmp;  			}  		} -	}while(trav = trav->next); +		trav = trav->next; +	}  	return NULL;  } @@ -222,11 +218,11 @@ xmlNodePtr check_and_resolve_href(xmlNodePtr data)  	return ret;  } -int parse_namespace(char *inval, char **value, char **namespace) +int parse_namespace(const char *inval, char **value, char **namespace)  {  	char *found = strchr(inval, ':'); -	if(found != NULL) +	if(found != NULL && found != inval)  	{  		(*namespace) = estrndup(inval, found - inval);  		(*value) = estrdup(++found); @@ -239,4 +235,3 @@ int parse_namespace(char *inval, char **value, char **namespace)  	return FALSE;  } -  | 
