Hello people,

There is a small piece of code utilizing lazily allocated data clean-up
appeared in last versions of ICU library. Although it is not a vital
improvement I hope this helps to fight actual memory leaks.


Index: xerces_1_7/src/xercesc/util/Transcoders/ICU/ICUTransService.cpp
diff -c xerces_1_7/src/xercesc/util/Transcoders/ICU/ICUTransService.cpp:1.1 
xerces_1_7/src/xercesc/util/Transcoders/ICU/ICUTransService.cpp:1.2
*** xerces_1_7/src/xercesc/util/Transcoders/ICU/ICUTransService.cpp:1.1 Mon Mar 18 
19:36:58 2002
--- xerces_1_7/src/xercesc/util/Transcoders/ICU/ICUTransService.cpp Mon Mar 18 
23:32:37 2002
***************
*** 74,79 ****
--- 74,82 ----
  #include <unicode/ucnv_err.h>
  #include <unicode/ustring.h>
  #include <unicode/udata.h>
+ #if (U_ICU_VERSION_MAJOR_NUM >= 2)
+ #include <unicode/uclean.h>
+ #endif
  
  
  #if !defined(XML_OS390) && !defined(XML_AS400) && !defined(XML_HPUX) && 
!defined(XML_PTX)
***************
*** 167,172 ****
--- 170,184 ----
  
  ICUTransService::~ICUTransService()
  {
+     CleanUp();
+ }
+ 
+ 
+ void ICUTransService::CleanUp() {
+ #if (U_ICU_VERSION_MAJOR_NUM >= 2)
+     // release all lasily allocated data
+     u_cleanup();
+ #endif
  }
  
  
Index: xerces_1_7/src/xercesc/util/Transcoders/ICU/ICUTransService.hpp
diff -c xerces_1_7/src/xercesc/util/Transcoders/ICU/ICUTransService.hpp:1.1 
xerces_1_7/src/xercesc/util/Transcoders/ICU/ICUTransService.hpp:1.2
*** xerces_1_7/src/xercesc/util/Transcoders/ICU/ICUTransService.hpp:1.1 Mon Mar 18 
19:36:58 2002
--- xerces_1_7/src/xercesc/util/Transcoders/ICU/ICUTransService.hpp Mon Mar 18 
23:32:37 2002
***************
*** 116,121 ****
--- 116,122 ----
      ICUTransService();
      ~ICUTransService();
  
+     static void CleanUp();
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual transcoding service API
--- 0 ----


Best regards,                           mailto:[EMAIL PROTECTED]
 Maxim


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to