utilitylibraries/libutils/src/descriptor16tostring.cpp
changeset 34 5fae379060a7
parent 0 e4d67989cc36
child 57 2efc27d87e1c
--- a/utilitylibraries/libutils/src/descriptor16tostring.cpp	Fri Jun 04 16:20:51 2010 +0100
+++ b/utilitylibraries/libutils/src/descriptor16tostring.cpp	Fri Jun 11 15:26:22 2010 +0300
@@ -37,10 +37,16 @@
     int minusone = -1;
     char* charString = new char[ilen*2+1];
     
+    if (!charString)
+    {
+    	return EInsufficientSystemMemory;
+    }
+    
     wchar_t *wcharString = new wchar_t[ilen+1];
     
-    if (!charString || !wcharString)
+    if (!wcharString)
     {
+    	delete []charString;
     	return EInsufficientSystemMemory;
     }
     
@@ -77,10 +83,17 @@
     int ilen = aSrc.Length(), retval = ESuccess;
     int minusone = -1;
     char* charString = new char[ilen*2+1];
+    
+    if (!charString)
+    {
+    	return EInsufficientSystemMemory;
+    }
+    
     wchar_t *wcharString = new wchar_t[ilen+1];
     
-    if (!charString || !wcharString)
+    if (!wcharString)
     {
+    	delete []charString;
     	return EInsufficientSystemMemory;
     }
     
@@ -118,10 +131,16 @@
     unsigned int ilen= aSrc.Length();
 	  int minusone = -1;
 	  char* charString = new char[ilen*2+1];
+	  
+	  if (!charString)
+    {
+    	return EInsufficientSystemMemory;
+    }
     wchar_t *wcharString = new wchar_t[ilen+1];
     
-    if (!charString || !wcharString)
+    if (!wcharString)
     {
+    	delete []charString;
     	return EInsufficientSystemMemory;
     }
     
@@ -158,12 +177,19 @@
 {
     int retval = ESuccess;	
 	  int ilen= aSrc.Length();
-	int minusone = -1;
+	  int minusone = -1;
 	  char* buf = new char[ilen*2 +1];
+	  
+	  if (!buf)
+    {
+    	return EInsufficientSystemMemory;
+    }
+    
     wchar_t *wcharString = new wchar_t[ilen+1];
     
-    if (!buf || !wcharString)
+    if (!wcharString)
     {
+    	delete []buf;
     	return EInsufficientSystemMemory;
     }
     
@@ -220,11 +246,18 @@
     	}
     }
     
-	char* buf = new char[ilen*2 +1];
+	  char* buf = new char[ilen*2 +1];
+	
+	  if (!buf)
+    {
+    	return EInsufficientSystemMemory;
+    }
+    
     wchar_t *wcharString = new wchar_t[ilen+1];
     
-    if (!buf || !wcharString)
+    if (!wcharString)
     {
+    	delete []buf;
     	return EInsufficientSystemMemory;
     }
     
@@ -235,7 +268,7 @@
 	if(minusone != wcstombs(buf, wcharString, ilen*2))
 	{
 	    buf[ilen*2] = '\0';
-	    aDes.append(buf, ilen*2);		
+	    aDes.assign(buf, ilen*2);		
 		
 	}
 	else 
@@ -270,10 +303,17 @@
     }
     
     char* buf = new char[ilen*2 +1];
+        
+    if (!buf)
+    {
+    	return EInsufficientSystemMemory;
+    }
+    
     wchar_t *wcharString = new wchar_t[ilen+1];
     
-    if (!buf || !wcharString)
+    if (!wcharString)
     {
+    	delete []buf;
     	return EInsufficientSystemMemory;
     }
     
@@ -321,10 +361,17 @@
    }
 
    char* buf = new char[ilen*2 +1];
+   
+   if (!buf)
+   {
+       return EInsufficientSystemMemory;
+   }
+   
    wchar_t *wcharString = new wchar_t[ilen+1];
     
-   if (!buf || !wcharString)
+   if (!wcharString)
    {
+   	   delete []buf;
        return EInsufficientSystemMemory;
    }