diff --git a/src/xercesc/util/NetAccessors/MacOSURLAccess/MacOSURLAccess.cpp b/src/xercesc/util/NetAccessors/MacOSURLAccess/MacOSURLAccess.cpp
index 428ede31e3e95012bbaf85267154e3aa7778f619..e6cf844a5b5e1cd5820e541b95815a77d766ff54 100644
--- a/src/xercesc/util/NetAccessors/MacOSURLAccess/MacOSURLAccess.cpp
+++ b/src/xercesc/util/NetAccessors/MacOSURLAccess/MacOSURLAccess.cpp
@@ -101,7 +101,7 @@ MacOSURLAccess::makeNew(const XMLURL&  urlSource)
 	//	from this source. That's the correct place to verify
 	//	whether or not we can really handle this URL type...
 	//	if it throws, well, it throws ;)
-	BinInputStream* result = new URLAccessBinInputStream(urlSource);
+	BinInputStream* result = new (urlSource.getMemoryManager()) URLAccessBinInputStream(urlSource);
 	return result;
 }
 
diff --git a/src/xercesc/util/NetAccessors/MacOSURLAccess/URLAccessBinInputStream.cpp b/src/xercesc/util/NetAccessors/MacOSURLAccess/URLAccessBinInputStream.cpp
index 3c267e0041a14ec51a67b921185c51cb2559a32d..8e61ae4d5b4c9cfc89d291422fa09a56beca4a47 100644
--- a/src/xercesc/util/NetAccessors/MacOSURLAccess/URLAccessBinInputStream.cpp
+++ b/src/xercesc/util/NetAccessors/MacOSURLAccess/URLAccessBinInputStream.cpp
@@ -83,8 +83,8 @@ URLAccessBinInputStream::URLAccessBinInputStream(const XMLURL& urlSource)
 	OSStatus status = noErr;
 	
 	//	Get the full URL from the source
-    char*               url = XMLString::transcode(urlSource.getURLText());
-    ArrayJanitor<char>  janBuf(url);
+    char*               url = XMLString::transcode(urlSource.getURLText(), urlSource.getMemoryManager());
+    ArrayJanitor<char>  janBuf(url, urlSource.getMemoryManager());
 
 	//	Create a URL reference from the URL
 	status = URLNewReference(url, &mURLReference);
diff --git a/src/xercesc/util/NetAccessors/MacOSURLAccessCF/MacOSURLAccessCF.cpp b/src/xercesc/util/NetAccessors/MacOSURLAccessCF/MacOSURLAccessCF.cpp
index fbbfa750f3f99fe6df69c24b2303f384448f0b70..3aa8ec5e815e8b83083d766f11d9b6c53de33ca2 100644
--- a/src/xercesc/util/NetAccessors/MacOSURLAccessCF/MacOSURLAccessCF.cpp
+++ b/src/xercesc/util/NetAccessors/MacOSURLAccessCF/MacOSURLAccessCF.cpp
@@ -94,7 +94,7 @@ MacOSURLAccessCF::~MacOSURLAccessCF()
 BinInputStream*
 MacOSURLAccessCF::makeNew(const XMLURL&  urlSource)
 {
-	BinInputStream* result = new URLAccessCFBinInputStream(urlSource);
+	BinInputStream* result = new (urlSource.getMemoryManager()) URLAccessCFBinInputStream(urlSource);
 	return result;
 }
 
diff --git a/src/xercesc/util/NetAccessors/Socket/SocketNetAccessor.cpp b/src/xercesc/util/NetAccessors/Socket/SocketNetAccessor.cpp
index 845eebec6224cefdf339454070f91ee8ce12d3bd..e9b487020f1e54e04c4b85a4b7ce8b7d9c13b085 100644
--- a/src/xercesc/util/NetAccessors/Socket/SocketNetAccessor.cpp
+++ b/src/xercesc/util/NetAccessors/Socket/SocketNetAccessor.cpp
@@ -96,7 +96,7 @@ BinInputStream* SocketNetAccessor::makeNew(const XMLURL&  urlSource)
         case XMLURL::HTTP:
         {
             UnixHTTPURLInputStream* retStrm =
-                new UnixHTTPURLInputStream(urlSource);
+                new (urlSource.getMemoryManager()) UnixHTTPURLInputStream(urlSource);
             return retStrm;
             break;
         }
diff --git a/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp b/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp
index a2a2019d72602e59fc87af0defc2a75ed7ade4fa..ae0768e8c72ef746f7890654cd7017f91f539f64 100644
--- a/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp
+++ b/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.12  2003/05/17 05:54:18  knoaman
+ * Update NetAccessors to use the memory manager.
+ *
  * Revision 1.11  2003/05/16 14:03:28  knoaman
  * Pass memory manager to makeNewTranscoder.
  *
@@ -214,14 +217,15 @@ UnixHTTPURLInputStream::UnixHTTPURLInputStream(const XMLURL& urlSource)
     const XMLCh*        path = urlSource.getPath();
     const XMLCh*        fragment = urlSource.getFragment();
     const XMLCh*        query = urlSource.getQuery();
+    MemoryManager*      manager = urlSource.getMemoryManager();
 
     //
     //  Convert the hostName to the platform's code page for gethostbyname and
     //  inet_addr functions.
     //
 
-    char*               hostNameAsCharStar = XMLString::transcode(hostName);
-    ArrayJanitor<char>  janBuf1(hostNameAsCharStar);
+    char*               hostNameAsCharStar = XMLString::transcode(hostName, manager);
+    ArrayJanitor<char>  janBuf1(hostNameAsCharStar, manager);
 
     //
     //  Convert all the parts of the urlSource object to ASCII so they can be
@@ -229,32 +233,44 @@ UnixHTTPURLInputStream::UnixHTTPURLInputStream(const XMLURL& urlSource)
     //
 
     transSize = XMLString::stringLen(hostName)+1;
-    char*               hostNameAsASCII = new char[transSize+1];
-    ArrayJanitor<char>  janBuf2(hostNameAsASCII);
+    char*               hostNameAsASCII = (char*) manager->allocate
+    (
+        (transSize+1) * sizeof(char)
+    );//new char[transSize+1];
+    ArrayJanitor<char>  janBuf2(hostNameAsASCII, manager);
 
-    XMLTranscoder* trans = XMLPlatformUtils::fgTransService->makeNewTranscoderFor("ISO8859-1", failReason, blockSize, urlSource.getMemoryManager());
+    XMLTranscoder* trans = XMLPlatformUtils::fgTransService->makeNewTranscoderFor("ISO8859-1", failReason, blockSize, manager);
     trans->transcodeTo(hostName, transSize, (unsigned char *) hostNameAsASCII, transSize, charsEaten, XMLTranscoder::UnRep_Throw);
 
     transSize = XMLString::stringLen(path)+1;
-    char*               pathAsASCII = new char[transSize+1];
-    ArrayJanitor<char>     janBuf3(pathAsASCII);
+    char*               pathAsASCII = (char*) manager->allocate
+    (
+        (transSize+1) * sizeof(char)
+    );//new char[transSize+1];
+    ArrayJanitor<char>     janBuf3(pathAsASCII, manager);
     trans->transcodeTo(path, transSize, (unsigned char *) pathAsASCII, transSize, charsEaten, XMLTranscoder::UnRep_Throw);
 
     char*               fragmentAsASCII = 0;
     if (fragment)
     {
         transSize = XMLString::stringLen(fragment)+1;
-        fragmentAsASCII = new char[transSize+1];
-        ArrayJanitor<char>  janBuf4(fragmentAsASCII);
+        fragmentAsASCII = (char*) manager->allocate
+        (
+            (transSize+1) * sizeof(char)
+        );//new char[transSize+1];
+        ArrayJanitor<char>  janBuf4(fragmentAsASCII, manager);
         trans->transcodeTo(fragment, transSize, (unsigned char *) fragmentAsASCII, transSize, charsEaten, XMLTranscoder::UnRep_Throw);
     }
 
     char*               queryAsASCII = 0;
-    ArrayJanitor<char>  janBuf5(queryAsASCII);
+    ArrayJanitor<char>  janBuf5(queryAsASCII, manager);
     if (query)
     {
         transSize = XMLString::stringLen(query)+1;
-        queryAsASCII = new char[transSize+1];
+        queryAsASCII = (char*) manager->allocate
+        (
+            (transSize+1) * sizeof(char)
+        );//new char[transSize+1];
         trans->transcodeTo(query, transSize, (unsigned char *) queryAsASCII, transSize, charsEaten, XMLTranscoder::UnRep_Throw);
     }
 
@@ -266,7 +282,10 @@ UnixHTTPURLInputStream::UnixHTTPURLInputStream(const XMLURL& urlSource)
 
     XMLString::binToText((unsigned int) portNumber, portBuffer, bufSize, 10);
     transSize = XMLString::stringLen(portBuffer)+1;
-    char*               portAsASCII = new char[transSize+1];
+    char*               portAsASCII = (char*) manager->allocate
+    (
+        (transSize+1) * sizeof(char)
+    );//new char[transSize+1];
     trans->transcodeTo(portBuffer, transSize, (unsigned char *) portAsASCII, transSize, charsEaten, XMLTranscoder::UnRep_Throw);
 
     delete trans;
diff --git a/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp b/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp
index 1d4fb6490bafa94021c709330a5c8db2c731d484..04fb50868293d12cb647f02d1a4c3e484bdf4bec 100644
--- a/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp
+++ b/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.4  2003/05/17 05:54:18  knoaman
+ * Update NetAccessors to use the memory manager.
+ *
  * Revision 1.3  2002/12/06 16:43:55  tng
  * Fix the error messages thrown from net accessor module.
  *
@@ -313,24 +316,24 @@ BinHTTPURLInputStream::BinHTTPURLInputStream(const XMLURL& urlSource)
     //   and transcode them back to ASCII.
     //
     const XMLCh*        hostName = urlSource.getHost();
-    char*               hostNameAsCharStar = XMLString::transcode(hostName);
-    ArrayJanitor<char>  janBuf1(hostNameAsCharStar);
+    char*               hostNameAsCharStar = XMLString::transcode(hostName, urlSource.getMemoryManager());
+    ArrayJanitor<char>  janBuf1(hostNameAsCharStar, urlSource.getMemoryManager());
 
     const XMLCh*        path = urlSource.getPath();
-    char*               pathAsCharStar = XMLString::transcode(path);
-    ArrayJanitor<char>  janBuf2(pathAsCharStar);
+    char*               pathAsCharStar = XMLString::transcode(path, urlSource.getMemoryManager());
+    ArrayJanitor<char>  janBuf2(pathAsCharStar, urlSource.getMemoryManager());
 
     const XMLCh*        fragment = urlSource.getFragment();
     char*               fragmentAsCharStar = 0;
     if (fragment)
-        fragmentAsCharStar = XMLString::transcode(fragment);
-    ArrayJanitor<char>  janBuf3(fragmentAsCharStar);
+        fragmentAsCharStar = XMLString::transcode(fragment, urlSource.getMemoryManager());
+    ArrayJanitor<char>  janBuf3(fragmentAsCharStar, urlSource.getMemoryManager());
 
     const XMLCh*        query = urlSource.getQuery();
     char*               queryAsCharStar = 0;
     if (query)
-        queryAsCharStar = XMLString::transcode(query);
-    ArrayJanitor<char>  janBuf4(queryAsCharStar);		
+        queryAsCharStar = XMLString::transcode(query, urlSource.getMemoryManager());
+    ArrayJanitor<char>  janBuf4(queryAsCharStar, urlSource.getMemoryManager());		
 
     unsigned short      portNumber = (unsigned short) urlSource.getPortNum();
 
diff --git a/src/xercesc/util/NetAccessors/WinSock/WinSockNetAccessor.cpp b/src/xercesc/util/NetAccessors/WinSock/WinSockNetAccessor.cpp
index 72d4a28905a1f18d1b0be32b68bddbd30d981d40..ccd64d2b1a54d1036a18f967b3053250530d1f77 100644
--- a/src/xercesc/util/NetAccessors/WinSock/WinSockNetAccessor.cpp
+++ b/src/xercesc/util/NetAccessors/WinSock/WinSockNetAccessor.cpp
@@ -100,7 +100,7 @@ BinInputStream* WinSockNetAccessor::makeNew(const XMLURL&  urlSource)
         case XMLURL::HTTP:
         {
             BinHTTPURLInputStream* retStrm =
-                new BinHTTPURLInputStream(urlSource);
+                new (urlSource.getMemoryManager()) BinHTTPURLInputStream(urlSource);
             return retStrm;
             break;
         }
diff --git a/src/xercesc/util/NetAccessors/libWWW/BinURLInputStream.cpp b/src/xercesc/util/NetAccessors/libWWW/BinURLInputStream.cpp
index a8e85e126715e7d9e07f61da245369798c97c065..7087dedf29cde4b3d0f78d5d3c998489599a8bf2 100644
--- a/src/xercesc/util/NetAccessors/libWWW/BinURLInputStream.cpp
+++ b/src/xercesc/util/NetAccessors/libWWW/BinURLInputStream.cpp
@@ -56,6 +56,9 @@
 
 /**
  * $Log$
+ * Revision 1.4  2003/05/17 05:54:18  knoaman
+ * Update NetAccessors to use the memory manager.
+ *
  * Revision 1.3  2002/12/06 16:42:13  tng
  * Fix the error messages thrown from net accessor module.
  *
@@ -151,7 +154,10 @@ XERCES_CPP_NAMESPACE_BEGIN
 static char* localTranscode(const XMLCh* latinStrInUnicode)
 {
     unsigned int   lent = XMLString::stringLen(latinStrInUnicode);
-    char*  retval = new char[lent + 1];
+    char*  retval = (char*) XMLPlatformUtils::fgMemoryManager->allocate
+    (
+        (lent + 1) * sizeof(char)
+    );//new char[lent + 1];
     unsigned int  i = 0;
     for (i = 0; i < lent; i++)
         retval[i] = (char) latinStrInUnicode[i]; // drop the leading byte.
@@ -168,8 +174,12 @@ BinURLInputStream::BinURLInputStream(const XMLURL& urlSource)
       , fRemoteFileSize(0)
       , fAnchor(0)
       , fBytesProcessed(0)
+      , fMemoryManager(urlSource.getMemoryManager())
 {
-    fBuffer = new XMLByte[URLISBUFMAXSIZE];
+    fBuffer = (XMLByte*) fMemoryManager->allocate
+    (
+        URLISBUFMAXSIZE * sizeof(XMLByte)
+    );//new XMLByte[URLISBUFMAXSIZE];
     const XMLCh*  uri = urlSource.getURLText();
     char*   uriAsCharStar = localTranscode(uri);
 
@@ -213,7 +223,7 @@ BinURLInputStream::BinURLInputStream(const XMLURL& urlSource)
 
 BinURLInputStream::~BinURLInputStream()
 {
-    delete [] fBuffer;
+    fMemoryManager->deallocate(fBuffer);//delete [] fBuffer;
     fBuffer = 0;
     // Do not delete the fAnchor. Its deleted when the destructor of
     // libWWWNetAccessor is called.
diff --git a/src/xercesc/util/NetAccessors/libWWW/BinURLInputStream.hpp b/src/xercesc/util/NetAccessors/libWWW/BinURLInputStream.hpp
index 1fddf8b8ff16a56e2efe62e8e2a9d01393280853..52a08f660ef654704f97b5c0fdc67061d14223e3 100644
--- a/src/xercesc/util/NetAccessors/libWWW/BinURLInputStream.hpp
+++ b/src/xercesc/util/NetAccessors/libWWW/BinURLInputStream.hpp
@@ -56,6 +56,9 @@
 
 /**
  * $Log$
+ * Revision 1.3  2003/05/17 05:54:18  knoaman
+ * Update NetAccessors to use the memory manager.
+ *
  * Revision 1.2  2002/11/04 15:11:39  tng
  * C++ Namespace Support.
  *
@@ -152,6 +155,7 @@ private :
     unsigned int        fBufferSize;
     unsigned int        fRemoteFileSize;
     unsigned int        fBytesProcessed;
+    MemoryManager*      fMemoryManager;
 };
 
 XERCES_CPP_NAMESPACE_END
diff --git a/src/xercesc/util/NetAccessors/libWWW/LibWWWNetAccessor.cpp b/src/xercesc/util/NetAccessors/libWWW/LibWWWNetAccessor.cpp
index 1f03bf318bb00a3e9016dcb2ebeb39bc06ed6be6..f42991f8b66eaccfe91caac501ca3ff93cd50992 100644
--- a/src/xercesc/util/NetAccessors/libWWW/LibWWWNetAccessor.cpp
+++ b/src/xercesc/util/NetAccessors/libWWW/LibWWWNetAccessor.cpp
@@ -112,7 +112,7 @@ BinInputStream* LibWWWNetAccessor::makeNew(const XMLURL&  urlSource)
         case XMLURL::HTTP:
         {
             BinURLInputStream* retStrm =
-				new BinURLInputStream(urlSource);
+				new (urlSource.getMemoryManager()) BinURLInputStream(urlSource);
             return retStrm;
         }