update LoadStringFromText functions. and it's don't delete[] the source_data.

This commit is contained in:
hyzboy 2020-08-24 11:04:46 +08:00
parent b5fe20f6c3
commit af0e232759
2 changed files with 10 additions and 12 deletions

View File

@ -648,11 +648,11 @@ namespace hgl
inline int LoadUTF16LEStringList (UTF16StringList & sl,io::DataInputStream *dis){return LoadStringList<u16char, bomUTF16LE >(sl,dis);}
inline int LoadUTF16BEStringList (UTF16StringList & sl,io::DataInputStream *dis){return LoadStringList<u16char, bomUTF16BE >(sl,dis);}
int LoadStringFromText(UTF8String &str,void *data,const int size,const CharSet &default_charset=UTF8CharSet); ///<从文件加载一个文本块到UTF8StringList
int LoadStringFromText(UTF16String &str,void *data,const int size,const CharSet &default_charset=UTF8CharSet); ///<从文件加载一个文本块到UTF16StringList
int LoadStringFromText(UTF8String &str,const void *data,const int size,const CharSet &default_charset=UTF8CharSet); ///<从文件加载一个文本块到UTF8StringList
int LoadStringFromText(UTF16String &str,const void *data,const int size,const CharSet &default_charset=UTF8CharSet); ///<从文件加载一个文本块到UTF16StringList
int LoadStringListFromText(UTF8StringList &sl,void *data,const int size,const CharSet &default_charset=UTF8CharSet); ///<从文件加载一个文本块到UTF8StringList
int LoadStringListFromText(UTF16StringList &sl,void *data,const int size,const CharSet &default_charset=UTF8CharSet); ///<从文件加载一个文本块到UTF16StringList
int LoadStringListFromText(UTF8StringList &sl,const void *data,const int size,const CharSet &default_charset=UTF8CharSet); ///<从文件加载一个文本块到UTF8StringList
int LoadStringListFromText(UTF16StringList &sl,const void *data,const int size,const CharSet &default_charset=UTF8CharSet); ///<从文件加载一个文本块到UTF16StringList
int LoadStringFromTextFile( UTF16String &str, const OSString &filename,const CharSet &default_charset=UTF8CharSet); ///<从文件加载一个文本文件到UTF16String
int LoadStringListFromTextFile( UTF8StringList &sl, const OSString &filename,const CharSet &default_charset=UTF8CharSet); ///<从文件加载一个文本文件到UTF8StringList

View File

@ -5,12 +5,12 @@ namespace hgl
/**
* UTF8String
*/
int LoadStringFromText(UTF8String &full_text,void *source_data,const int size,const CharSet &cs)
int LoadStringFromText(UTF8String &full_text,const void *source_data,const int size,const CharSet &cs)
{
u8char *str=nullptr;
int char_count=0;
u8char *data=(u8char *)source_data;
const u8char *data=(const u8char *)source_data;
if(size>=3&&data[0]==0xEF&&data[1]==0xBB&&data[2]==0xBF) //utf8
{
@ -76,16 +76,15 @@ namespace hgl
delete[] str;
}
delete[] data;
return char_count;
}
/**
* UTF16String
*/
int LoadStringFromText(UTF16String &full_text,void *source_data,const int size,const CharSet &cs)
int LoadStringFromText(UTF16String &full_text,const void *source_data,const int size,const CharSet &cs)
{
uint8 *data=(uint8 *)source_data;
const uint8 *data=(const uint8 *)source_data;
u16char *str=nullptr;
int char_count=0;
@ -150,14 +149,13 @@ namespace hgl
delete[] str;
}
delete[] data;
return char_count;
}
/**
* UTF8StringList
*/
int LoadStringListFromText(UTF8StringList &sl,void *data,const int size,const CharSet &cs)
int LoadStringListFromText(UTF8StringList &sl,const void *data,const int size,const CharSet &cs)
{
UTF8String str;
@ -169,7 +167,7 @@ namespace hgl
/**
* UTF16StringList
*/
int LoadStringListFromText(UTF16StringList &sl,void *data,const int size,const CharSet &cs)
int LoadStringListFromText(UTF16StringList &sl,const void *data,const int size,const CharSet &cs)
{
UTF16String str;