msxml3: Added ISAXMLReader_putErrorHandler implementation.
diff --git a/dlls/msxml3/saxreader.c b/dlls/msxml3/saxreader.c
index b68ccae..dfcc9f3 100644
--- a/dlls/msxml3/saxreader.c
+++ b/dlls/msxml3/saxreader.c
@@ -50,6 +50,7 @@
     const struct ISAXXMLReaderVtbl *lpSAXXMLReaderVtbl;
     LONG ref;
     struct ISAXContentHandler *contentHandler;
+    struct ISAXErrorHandler *errorHandler;
     xmlSAXHandler sax;
 } saxreader;
 
@@ -115,6 +116,9 @@
         if(This->contentHandler)
             ISAXContentHandler_Release(This->contentHandler);
 
+        if(This->errorHandler)
+            ISAXErrorHandler_Release(This->errorHandler);
+
         HeapFree( GetProcessHeap(), 0, This );
     }
 
@@ -569,8 +573,14 @@
 {
     saxreader *This = impl_from_ISAXXMLReader( iface );
 
-    FIXME("(%p)->(%p) stub\n", This, errorHandler);
-    return E_NOTIMPL;
+    TRACE("(%p)->(%p)\n", This, errorHandler);
+    if(errorHandler)
+        ISAXErrorHandler_AddRef(errorHandler);
+    if(This->errorHandler)
+        ISAXErrorHandler_Release(This->errorHandler);
+    This->errorHandler = errorHandler;
+
+    return S_OK;
 }
 
 static HRESULT WINAPI isaxxmlreader_getBaseURL(
@@ -672,6 +682,7 @@
     reader->lpSAXXMLReaderVtbl = &isaxreader_vtbl;
     reader->ref = 1;
     reader->contentHandler = NULL;
+    reader->errorHandler = NULL;
 
     *ppObj = &reader->lpVtbl;