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 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);} 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(UTF8String &str,const 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(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(UTF8StringList &sl,const 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(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 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 int LoadStringListFromTextFile( UTF8StringList &sl, const OSString &filename,const CharSet &default_charset=UTF8CharSet); ///<从文件加载一个文本文件到UTF8StringList

View File

@ -5,12 +5,12 @@ namespace hgl
/** /**
* UTF8String * 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; u8char *str=nullptr;
int char_count=0; 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 if(size>=3&&data[0]==0xEF&&data[1]==0xBB&&data[2]==0xBF) //utf8
{ {
@ -76,16 +76,15 @@ namespace hgl
delete[] str; delete[] str;
} }
delete[] data;
return char_count; return char_count;
} }
/** /**
* UTF16String * 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; u16char *str=nullptr;
int char_count=0; int char_count=0;
@ -150,14 +149,13 @@ namespace hgl
delete[] str; delete[] str;
} }
delete[] data;
return char_count; return char_count;
} }
/** /**
* UTF8StringList * 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; UTF8String str;
@ -169,7 +167,7 @@ namespace hgl
/** /**
* UTF16StringList * 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; UTF16String str;