utilitylibraries/libutils/src/descriptor16tostring.cpp
branchRCL_3
changeset 57 2efc27d87e1c
parent 56 acd3cd4aaceb
equal deleted inserted replaced
56:acd3cd4aaceb 57:2efc27d87e1c
    35     unsigned int ilen = aSrc.Length(); 
    35     unsigned int ilen = aSrc.Length(); 
    36     int retval = ESuccess;
    36     int retval = ESuccess;
    37     int minusone = -1;
    37     int minusone = -1;
    38     char* charString = new char[ilen*2+1];
    38     char* charString = new char[ilen*2+1];
    39     
    39     
    40     if (!charString)
    40     wchar_t *wcharString = new wchar_t[ilen+1];
    41     {
    41     
    42     	return EInsufficientSystemMemory;
    42     if (!charString || !wcharString)
    43     }
    43     {
    44     
       
    45     wchar_t *wcharString = new wchar_t[ilen+1];
       
    46     
       
    47     if (!wcharString)
       
    48     {
       
    49     	delete []charString;
       
    50     	return EInsufficientSystemMemory;
    44     	return EInsufficientSystemMemory;
    51     }
    45     }
    52     
    46     
    53     wmemcpy(wcharString, (const wchar_t*)aSrc.Ptr(), ilen);
    47     wmemcpy(wcharString, (const wchar_t*)aSrc.Ptr(), ilen);
    54     wcharString[ilen] = L'\0';
    48     wcharString[ilen] = L'\0';
    81 EXPORT_C int Tbufc16ToString(TDesC16& aSrc, string& aDes)
    75 EXPORT_C int Tbufc16ToString(TDesC16& aSrc, string& aDes)
    82 {
    76 {
    83     int ilen = aSrc.Length(), retval = ESuccess;
    77     int ilen = aSrc.Length(), retval = ESuccess;
    84     int minusone = -1;
    78     int minusone = -1;
    85     char* charString = new char[ilen*2+1];
    79     char* charString = new char[ilen*2+1];
    86     
    80     wchar_t *wcharString = new wchar_t[ilen+1];
    87     if (!charString)
    81     
    88     {
    82     if (!charString || !wcharString)
    89     	return EInsufficientSystemMemory;
    83     {
    90     }
       
    91     
       
    92     wchar_t *wcharString = new wchar_t[ilen+1];
       
    93     
       
    94     if (!wcharString)
       
    95     {
       
    96     	delete []charString;
       
    97     	return EInsufficientSystemMemory;
    84     	return EInsufficientSystemMemory;
    98     }
    85     }
    99     
    86     
   100     wmemcpy(wcharString, (const wchar_t*)aSrc.Ptr(), ilen);
    87     wmemcpy(wcharString, (const wchar_t*)aSrc.Ptr(), ilen);
   101     wcharString[ilen] = L'\0';
    88     wcharString[ilen] = L'\0';
   129 {
   116 {
   130     int retval = ESuccess;
   117     int retval = ESuccess;
   131     unsigned int ilen= aSrc.Length();
   118     unsigned int ilen= aSrc.Length();
   132 	  int minusone = -1;
   119 	  int minusone = -1;
   133 	  char* charString = new char[ilen*2+1];
   120 	  char* charString = new char[ilen*2+1];
   134 	  
   121     wchar_t *wcharString = new wchar_t[ilen+1];
   135 	  if (!charString)
   122     
   136     {
   123     if (!charString || !wcharString)
   137     	return EInsufficientSystemMemory;
   124     {
   138     }
       
   139     wchar_t *wcharString = new wchar_t[ilen+1];
       
   140     
       
   141     if (!wcharString)
       
   142     {
       
   143     	delete []charString;
       
   144     	return EInsufficientSystemMemory;
   125     	return EInsufficientSystemMemory;
   145     }
   126     }
   146     
   127     
   147     wmemcpy(wcharString, (const wchar_t*)aSrc.Ptr(), ilen);
   128     wmemcpy(wcharString, (const wchar_t*)aSrc.Ptr(), ilen);
   148     wcharString[ilen] = L'\0';
   129     wcharString[ilen] = L'\0';
   175 
   156 
   176 EXPORT_C int Tptrc16ToString (const TDesC16& aSrc, string& aDes)
   157 EXPORT_C int Tptrc16ToString (const TDesC16& aSrc, string& aDes)
   177 {
   158 {
   178     int retval = ESuccess;	
   159     int retval = ESuccess;	
   179 	  int ilen= aSrc.Length();
   160 	  int ilen= aSrc.Length();
   180 	  int minusone = -1;
   161 	int minusone = -1;
   181 	  char* buf = new char[ilen*2 +1];
   162 	  char* buf = new char[ilen*2 +1];
   182 	  
   163     wchar_t *wcharString = new wchar_t[ilen+1];
   183 	  if (!buf)
   164     
   184     {
   165     if (!buf || !wcharString)
   185     	return EInsufficientSystemMemory;
   166     {
   186     }
       
   187     
       
   188     wchar_t *wcharString = new wchar_t[ilen+1];
       
   189     
       
   190     if (!wcharString)
       
   191     {
       
   192     	delete []buf;
       
   193     	return EInsufficientSystemMemory;
   167     	return EInsufficientSystemMemory;
   194     }
   168     }
   195     
   169     
   196     wmemcpy(wcharString, (const wchar_t*)aSrc.Ptr(), ilen);
   170     wmemcpy(wcharString, (const wchar_t*)aSrc.Ptr(), ilen);
   197     wcharString[ilen] = L'\0';
   171     wcharString[ilen] = L'\0';
   244     		n_size = ilen; 
   218     		n_size = ilen; 
   245     		return EInvalidSize; 		
   219     		return EInvalidSize; 		
   246     	}
   220     	}
   247     }
   221     }
   248     
   222     
   249 	  char* buf = new char[ilen*2 +1];
   223 	char* buf = new char[ilen*2 +1];
   250 	
   224     wchar_t *wcharString = new wchar_t[ilen+1];
   251 	  if (!buf)
   225     
   252     {
   226     if (!buf || !wcharString)
   253     	return EInsufficientSystemMemory;
   227     {
   254     }
       
   255     
       
   256     wchar_t *wcharString = new wchar_t[ilen+1];
       
   257     
       
   258     if (!wcharString)
       
   259     {
       
   260     	delete []buf;
       
   261     	return EInsufficientSystemMemory;
   228     	return EInsufficientSystemMemory;
   262     }
   229     }
   263     
   230     
   264     wmemcpy(wcharString, (const wchar_t*)aSrc->Ptr(), ilen);
   231     wmemcpy(wcharString, (const wchar_t*)aSrc->Ptr(), ilen);
   265     wcharString[ilen] = L'\0';
   232     wcharString[ilen] = L'\0';
   266    
   233    
   267 	
   234 	
   268 	if(minusone != wcstombs(buf, wcharString, ilen*2))
   235 	if(minusone != wcstombs(buf, wcharString, ilen*2))
   269 	{
   236 	{
   270 	    buf[ilen*2] = '\0';
   237 	    buf[ilen*2] = '\0';
   271 	    aDes.assign(buf, ilen*2);		
   238 	    aDes.append(buf, ilen*2);		
   272 		
   239 		
   273 	}
   240 	}
   274 	else 
   241 	else 
   275 	{
   242 	{
   276 		retval = EInvalidWCSSequence;
   243 		retval = EInvalidWCSSequence;
   301     {
   268     {
   302     	return EDescriptorNoData;
   269     	return EDescriptorNoData;
   303     }
   270     }
   304     
   271     
   305     char* buf = new char[ilen*2 +1];
   272     char* buf = new char[ilen*2 +1];
   306         
   273     wchar_t *wcharString = new wchar_t[ilen+1];
   307     if (!buf)
   274     
   308     {
   275     if (!buf || !wcharString)
   309     	return EInsufficientSystemMemory;
   276     {
   310     }
       
   311     
       
   312     wchar_t *wcharString = new wchar_t[ilen+1];
       
   313     
       
   314     if (!wcharString)
       
   315     {
       
   316     	delete []buf;
       
   317     	return EInsufficientSystemMemory;
   277     	return EInsufficientSystemMemory;
   318     }
   278     }
   319     
   279     
   320     wmemcpy(wcharString, (const wchar_t*)aSrc.Ptr(), ilen);
   280     wmemcpy(wcharString, (const wchar_t*)aSrc.Ptr(), ilen);
   321     wcharString[ilen] = L'\0';
   281     wcharString[ilen] = L'\0';
   359    {
   319    {
   360    		return EDescriptorNoData;
   320    		return EDescriptorNoData;
   361    }
   321    }
   362 
   322 
   363    char* buf = new char[ilen*2 +1];
   323    char* buf = new char[ilen*2 +1];
   364    
   324    wchar_t *wcharString = new wchar_t[ilen+1];
   365    if (!buf)
   325     
       
   326    if (!buf || !wcharString)
   366    {
   327    {
   367        return EInsufficientSystemMemory;
       
   368    }
       
   369    
       
   370    wchar_t *wcharString = new wchar_t[ilen+1];
       
   371     
       
   372    if (!wcharString)
       
   373    {
       
   374    	   delete []buf;
       
   375        return EInsufficientSystemMemory;
   328        return EInsufficientSystemMemory;
   376    }
   329    }
   377     
   330     
   378    wmemcpy(wcharString, (const wchar_t*)aSrc.Ptr(), ilen);
   331    wmemcpy(wcharString, (const wchar_t*)aSrc.Ptr(), ilen);
   379    wcharString[ilen] = L'\0';
   332    wcharString[ilen] = L'\0';