#265973: remove a useless removal of the XML declaration, that cause preg to chokes on big XML-RPC responses.

From: Damien Tournoud <damien@tournoud.net>


---
 xmlrpc.inc |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git includes/xmlrpc.inc includes/xmlrpc.inc
index 0686c88..2b53aa3 100644
--- includes/xmlrpc.inc
+++ includes/xmlrpc.inc
@@ -157,8 +157,6 @@ function xmlrpc_message($message) {
  *   TRUE if parsing succeeded; FALSE otherwise
  */
 function xmlrpc_message_parse($xmlrpc_message) {
-  // First remove the XML declaration
-  $xmlrpc_message->message = preg_replace('/<\?xml(.*)?\?' . '>/', '', $xmlrpc_message->message);
   if (trim($xmlrpc_message->message) == '') {
     return FALSE;
   }
@@ -175,7 +173,10 @@ function xmlrpc_message_parse($xmlrpc_message) {
   xml_parser_free($xmlrpc_message->_parser);
   // Grab the error messages, if any
   $xmlrpc_message = xmlrpc_message_get();
-  if ($xmlrpc_message->messagetype == 'fault') {
+  if (!isset($xmlrpc_message->messagetype)) {
+    return FALSE;
+  }
+  else if ($xmlrpc_message->messagetype == 'fault') {
     $xmlrpc_message->fault_code = $xmlrpc_message->params[0]['faultCode'];
     $xmlrpc_message->fault_string = $xmlrpc_message->params[0]['faultString'];
   }
