From 269eb100c4e2d07ddc941bf1490f47b62d122080 Mon Sep 17 00:00:00 2001
From: Neil Graham <neilg@apache.org>
Date: Wed, 17 Dec 2003 03:56:15 +0000
Subject: [PATCH] add default memory manager parameter to loadMsg method that
 uses char * parameters

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@175588 13f79535-47bb-0310-9956-ffa450edef68
---
 .../util/MsgLoaders/ICU/ICUMsgLoader.cpp      | 23 +++++++++++--------
 .../util/MsgLoaders/ICU/ICUMsgLoader.hpp      |  4 ++++
 .../MsgLoaders/InMemory/InMemMsgLoader.cpp    | 23 +++++++++++--------
 .../MsgLoaders/InMemory/InMemMsgLoader.hpp    |  4 ++++
 .../MsgCatalog/MsgCatalogLoader.cpp           | 23 +++++++++++--------
 .../MsgCatalog/MsgCatalogLoader.hpp           |  4 ++++
 .../util/MsgLoaders/MsgFile/MsgLoader.cpp     |  4 +++-
 .../util/MsgLoaders/MsgFile/MsgLoader.hpp     |  1 +
 8 files changed, 58 insertions(+), 28 deletions(-)

diff --git a/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp b/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp
index ec1ee2dad..99b072e96 100644
--- a/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp
+++ b/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.19  2003/12/17 03:56:15  neilg
+ * add default memory manager parameter to loadMsg method that uses char * parameters
+ *
  * Revision 1.18  2003/11/19 23:08:02  peiyongz
  * build xercesc2_4_0
  *
@@ -399,7 +402,8 @@ bool ICUMsgLoader::loadMsg( const   XMLMsgLoader::XMLMsgId  msgToLoad
                             , const char* const             repText1
                             , const char* const             repText2
                             , const char* const             repText3
-                            , const char* const             repText4)
+                            , const char* const             repText4
+                            , MemoryManager * const manager)
 {
     //
     //  Transcode the provided parameters and call the other version,
@@ -409,27 +413,28 @@ bool ICUMsgLoader::loadMsg( const   XMLMsgLoader::XMLMsgId  msgToLoad
     XMLCh* tmp2 = 0;
     XMLCh* tmp3 = 0;
     XMLCh* tmp4 = 0;
+    MemoryManager *managerToUse = (manager)?manager:XMLPlatformUtils::fgMemoryManager;
 
     bool bRet = false;
     if (repText1)
-        tmp1 = XMLString::transcode(repText1, XMLPlatformUtils::fgMemoryManager);
+        tmp1 = XMLString::transcode(repText1, managerToUse);
     if (repText2)
-        tmp2 = XMLString::transcode(repText2, XMLPlatformUtils::fgMemoryManager);
+        tmp2 = XMLString::transcode(repText2, managerToUse);
     if (repText3)
-        tmp3 = XMLString::transcode(repText3, XMLPlatformUtils::fgMemoryManager);
+        tmp3 = XMLString::transcode(repText3, managerToUse);
     if (repText4)
-        tmp4 = XMLString::transcode(repText4, XMLPlatformUtils::fgMemoryManager);
+        tmp4 = XMLString::transcode(repText4, managerToUse);
 
     bRet = loadMsg(msgToLoad, toFill, maxChars, tmp1, tmp2, tmp3, tmp4);
 
     if (tmp1)
-        XMLPlatformUtils::fgMemoryManager->deallocate(tmp1);//delete [] tmp1;
+        managerToUse->deallocate(tmp1);//delete [] tmp1;
     if (tmp2)
-        XMLPlatformUtils::fgMemoryManager->deallocate(tmp2);//delete [] tmp2;
+        managerToUse->deallocate(tmp2);//delete [] tmp2;
     if (tmp3)
-        XMLPlatformUtils::fgMemoryManager->deallocate(tmp3);//delete [] tmp3;
+        managerToUse->deallocate(tmp3);//delete [] tmp3;
     if (tmp4)
-        XMLPlatformUtils::fgMemoryManager->deallocate(tmp4);//delete [] tmp4;
+        managerToUse->deallocate(tmp4);//delete [] tmp4;
 
     return bRet;
 }
diff --git a/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.hpp b/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.hpp
index bfc77545c..466eebd5d 100644
--- a/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.hpp
+++ b/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.7  2003/12/17 03:56:15  neilg
+ * add default memory manager parameter to loadMsg method that uses char * parameters
+ *
  * Revision 1.6  2003/05/15 18:29:48  knoaman
  * Partial implementation of the configurable memory manager.
  *
@@ -153,6 +156,7 @@ public :
         , const char* const             repText2 = 0
         , const char* const             repText3 = 0
         , const char* const             repText4 = 0
+        , MemoryManager * const manager = 0
     );
 
 
diff --git a/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp b/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
index 3c2d69676..5b9e6e5d4 100644
--- a/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
+++ b/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.9  2003/12/17 03:56:15  neilg
+ * add default memory manager parameter to loadMsg method that uses char * parameters
+ *
  * Revision 1.8  2003/05/15 18:29:49  knoaman
  * Partial implementation of the configurable memory manager.
  *
@@ -221,7 +224,8 @@ bool InMemMsgLoader::loadMsg(const  XMLMsgLoader::XMLMsgId  msgToLoad
                             , const char* const             repText1
                             , const char* const             repText2
                             , const char* const             repText3
-                            , const char* const             repText4)
+                            , const char* const             repText4
+                            , MemoryManager * const manager) 
 {
     //
     //  Transcode the provided parameters and call the other version,
@@ -231,27 +235,28 @@ bool InMemMsgLoader::loadMsg(const  XMLMsgLoader::XMLMsgId  msgToLoad
     XMLCh* tmp2 = 0;
     XMLCh* tmp3 = 0;
     XMLCh* tmp4 = 0;
+    MemoryManager *managerToUse = (manager)?manager:XMLPlatformUtils::fgMemoryManager;
 
     bool bRet = false;
     if (repText1)
-        tmp1 = XMLString::transcode(repText1, XMLPlatformUtils::fgMemoryManager);
+        tmp1 = XMLString::transcode(repText1, managerToUse);
     if (repText2)
-        tmp2 = XMLString::transcode(repText2, XMLPlatformUtils::fgMemoryManager);
+        tmp2 = XMLString::transcode(repText2, managerToUse);
     if (repText3)
-        tmp3 = XMLString::transcode(repText3, XMLPlatformUtils::fgMemoryManager);
+        tmp3 = XMLString::transcode(repText3, managerToUse);
     if (repText4)
-        tmp4 = XMLString::transcode(repText4, XMLPlatformUtils::fgMemoryManager);
+        tmp4 = XMLString::transcode(repText4, managerToUse);
 
     bRet = loadMsg(msgToLoad, toFill, maxChars, tmp1, tmp2, tmp3, tmp4);
 
     if (tmp1)
-        XMLPlatformUtils::fgMemoryManager->deallocate(tmp1);//delete [] tmp1;
+        managerToUse->deallocate(tmp1);//delete [] tmp1;
     if (tmp2)
-        XMLPlatformUtils::fgMemoryManager->deallocate(tmp2);//delete [] tmp2;
+        managerToUse->deallocate(tmp2);//delete [] tmp2;
     if (tmp3)
-        XMLPlatformUtils::fgMemoryManager->deallocate(tmp3);//delete [] tmp3;
+        managerToUse->deallocate(tmp3);//delete [] tmp3;
     if (tmp4)
-        XMLPlatformUtils::fgMemoryManager->deallocate(tmp4);//delete [] tmp4;
+        managerToUse->deallocate(tmp4);//delete [] tmp4;
 
     return bRet;
 }
diff --git a/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.hpp b/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.hpp
index 2a0878c54..01496fd55 100644
--- a/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.hpp
+++ b/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.4  2003/12/17 03:56:15  neilg
+ * add default memory manager parameter to loadMsg method that uses char * parameters
+ *
  * Revision 1.3  2003/03/07 18:15:44  tng
  * Return a reference instead of void for operator=
  *
@@ -140,6 +143,7 @@ public :
         , const char* const             repText2 = 0
         , const char* const             repText3 = 0
         , const char* const             repText4 = 0
+        , MemoryManager * const manager = 0
     );
 
 
diff --git a/src/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.cpp b/src/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.cpp
index 5da56823c..22ac3a818 100644
--- a/src/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.cpp
+++ b/src/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.cpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.16  2003/12/17 03:56:15  neilg
+ * add default memory manager parameter to loadMsg method that uses char * parameters
+ *
  * Revision 1.15  2003/08/21 16:36:08  peiyongz
  * use PlatformUtils::panic()
  *
@@ -282,7 +285,8 @@ bool MsgCatalogLoader::loadMsg(const  XMLMsgLoader::XMLMsgId  msgToLoad
                             , const char* const             repText1
                             , const char* const             repText2
                             , const char* const             repText3
-                            , const char* const             repText4)
+                            , const char* const             repText4
+                            , MemoryManager * const manager) 
 {
     //
     //  Transcode the provided parameters and call the other version,
@@ -292,27 +296,28 @@ bool MsgCatalogLoader::loadMsg(const  XMLMsgLoader::XMLMsgId  msgToLoad
     XMLCh* tmp2 = 0;
     XMLCh* tmp3 = 0;
     XMLCh* tmp4 = 0;
+    MemoryManager *managerOoUse = (manager)?manager:XMLPlatformUtils::fgMemoryManager;
 
     bool bRet = false;
     if (repText1)
-        tmp1 = XMLString::transcode(repText1, XMLPlatformUtils::fgMemoryManager);
+        tmp1 = XMLString::transcode(repText1, managerToUse);
     if (repText2)
-        tmp2 = XMLString::transcode(repText2, XMLPlatformUtils::fgMemoryManager);
+        tmp2 = XMLString::transcode(repText2, managerToUse);
     if (repText3)
-        tmp3 = XMLString::transcode(repText3, XMLPlatformUtils::fgMemoryManager);
+        tmp3 = XMLString::transcode(repText3, managerToUse);
     if (repText4)
-        tmp4 = XMLString::transcode(repText4, XMLPlatformUtils::fgMemoryManager);
+        tmp4 = XMLString::transcode(repText4, managerToUse);
 
     bRet = loadMsg(msgToLoad, toFill, maxChars, tmp1, tmp2, tmp3, tmp4);
 
     if (tmp1)
-        XMLPlatformUtils::fgMemoryManager->deallocate(tmp1);//delete [] tmp1;
+        managerToUse->deallocate(tmp1);//delete [] tmp1;
     if (tmp2)
-        XMLPlatformUtils::fgMemoryManager->deallocate(tmp2);//delete [] tmp2;
+        managerToUse->deallocate(tmp2);//delete [] tmp2;
     if (tmp3)
-        XMLPlatformUtils::fgMemoryManager->deallocate(tmp3);//delete [] tmp3;
+        managerToUse->deallocate(tmp3);//delete [] tmp3;
     if (tmp4)
-        XMLPlatformUtils::fgMemoryManager->deallocate(tmp4);//delete [] tmp4;
+        managerToUse->deallocate(tmp4);//delete [] tmp4;
 
     return bRet;
 }
diff --git a/src/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.hpp b/src/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.hpp
index df794a4c4..65ad7f4e8 100644
--- a/src/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.hpp
+++ b/src/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.6  2003/12/17 03:56:15  neilg
+ * add default memory manager parameter to loadMsg method that uses char * parameters
+ *
  * Revision 1.5  2003/03/07 18:15:44  tng
  * Return a reference instead of void for operator=
  *
@@ -140,6 +143,7 @@ public :
         , const char* const             repText2 = 0
         , const char* const             repText3 = 0
         , const char* const             repText4 = 0
+        , MemoryManager * const manager = 0
     );
 
 
diff --git a/src/xercesc/util/MsgLoaders/MsgFile/MsgLoader.cpp b/src/xercesc/util/MsgLoaders/MsgFile/MsgLoader.cpp
index e3fea7a6c..6c0b48754 100644
--- a/src/xercesc/util/MsgLoaders/MsgFile/MsgLoader.cpp
+++ b/src/xercesc/util/MsgLoaders/MsgFile/MsgLoader.cpp
@@ -231,7 +231,8 @@ bool MsgCatalogLoader::loadMsg(const  XMLMsgLoader::XMLMsgId  msgToLoad
                             , const char* const            repText1
                             , const char* const            repText2
                             , const char* const            repText3
-                            , const char* const            repText4)
+                            , const char* const            repText4
+                            , MemoryManager * const manager)
 {
     char * msgId;
     int size=0;
@@ -251,6 +252,7 @@ bool MsgCatalogLoader::loadMsg(const  XMLMsgLoader::XMLMsgId  msgToLoad
         msgId = DOMMsg[msgToLoad - 2];
 
     // Call the other version to load up the message
+    // note that no one is deleting repTexts...
     if (!localMsg(msgId, toFill, maxChars, repTexts, size))
         return false;
 
diff --git a/src/xercesc/util/MsgLoaders/MsgFile/MsgLoader.hpp b/src/xercesc/util/MsgLoaders/MsgFile/MsgLoader.hpp
index f3c513021..c6d7964f6 100644
--- a/src/xercesc/util/MsgLoaders/MsgFile/MsgLoader.hpp
+++ b/src/xercesc/util/MsgLoaders/MsgFile/MsgLoader.hpp
@@ -111,6 +111,7 @@ public :
         , const char* const             repText2 = 0
         , const char* const             repText3 = 0
         , const char* const             repText4 = 0
+        , MemoryManager * const manager = 0
     );
 
 
-- 
GitLab