Commit 5f069ef9 authored by Dries's avatar Dries
Browse files

- Patch #297860 by sun: fixed XML-RPC error handling.

parent 0ec54057
......@@ -342,7 +342,7 @@ function xmlrpc_request($method, $args) {
}
function xmlrpc_error($code = NULL, $message = NULL) {
function xmlrpc_error($code = NULL, $message = NULL, $reset = FALSE) {
static $xmlrpc_error;
if (isset($code)) {
$xmlrpc_error = new stdClass();
......@@ -350,6 +350,9 @@ function xmlrpc_error($code = NULL, $message = NULL) {
$xmlrpc_error->code = $code;
$xmlrpc_error->message = $message;
}
elseif ($reset) {
$xmlrpc_error = NULL;
}
return $xmlrpc_error;
}
......@@ -441,6 +444,7 @@ function xmlrpc_base64_get_xml($xmlrpc_base64) {
function _xmlrpc() {
$args = func_get_args();
$url = array_shift($args);
xmlrpc_clear_error();
if (is_array($args[0])) {
$method = 'system.multicall';
$multicall_args = array();
......@@ -494,3 +498,10 @@ function xmlrpc_error_msg() {
$error = xmlrpc_error();
return ($error != NULL ? $error->message : NULL);
}
/**
* Clears any previous error.
*/
function xmlrpc_clear_error() {
xmlrpc_error(NULL, NULL, TRUE);
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment