25 const char *szLanguage)
39 for (
int iLang = 0;
SCopySegment(szLanguage ? szLanguage :
"", iLang, strCode,
',', 2); iLang++)
42 strEntryWithLanguage.
Format(strEntry, strCode);
50 if (!
SSearch(strEntry,
"%s"))
break;
62 const char *szLanguage)
76 for (
int iLang = 0;
SCopySegment(szLanguage ? szLanguage :
"", iLang, strCode,
',', 2); iLang++)
79 strEntryWithLanguage.
Format(strEntry, strCode);
88 if (!
SSearch(strEntry,
"%s"))
break;
110 if (
Data[0] ==
'\xEF' &&
Data[1] ==
'\xBB' &&
Data[2] ==
'\xBF')
131 if (!szLanguage || !
Data)
return false;
133 char langindex[4] =
"";
134 for (
int clseg=0;
SCopySegment(szLanguage ? szLanguage :
"", clseg, langindex,
',', 2); clseg++)
141 if (iEndPos<0) iEndPos =
SCharPos(
'\n', cptr);
142 if (iEndPos<0) iEndPos = strlen(cptr);
143 rTarget.
Copy(cptr, iEndPos);
bool LogF(const char *strMessage,...)
void SReplaceChar(char *str, char fc, char tc)
const char * SSearch(const char *szString, const char *szIndex)
int SCharPos(char cTarget, const char *szInStr, int iIndex)
bool SCopySegment(const char *szString, int iSegment, char *sTarget, char cSeparator, int iMaxL, bool fSkipWhitespace)
void SAppend(const char *szSource, char *szTarget, int iMaxL)
bool Load(C4Group &hGroup, const char *szFilename, const char *szLanguage=nullptr)
void CopyFilePathFromGroup(const C4Group &hGroup)
void FinishLoad(const StdStrBuf &, C4Group &hGroup)
bool GetLanguageString(const char *szLanguage, StdStrBuf &rTarget)
const char * AtRelativePath(const char *filename)
StdStrBuf GetFullName() const
bool LoadEntryString(const char *entry_name, StdStrBuf *buffer)
bool FindEntry(const char *wildcard, StdStrBuf *filename=nullptr, size_t *size=nullptr)
bool LoadEntryString(const char *szEntryName, StdStrBuf *rBuf)
C4Group * GetGroup(int32_t iIndex)
C4Group * FindEntry(const char *szWildcard, int32_t *pPriority=nullptr, int32_t *pID=nullptr)
void Move(size_t iFrom, size_t inSize, size_t iTo=0)
void Shrink(size_t iShrink)
const char * getData() const
void Append(const char *pnData, size_t iChars)
void Format(const char *szFmt,...) GNUC_FORMAT_ATTRIBUTE_O