Exported some libsi functions

This commit is contained in:
Klaus Schmidinger 2010-02-13 10:37:27 +01:00
parent 24a2b4680c
commit 7949793f00
4 changed files with 18 additions and 8 deletions

View File

@ -1683,6 +1683,7 @@ Lucian Muresan <lucianm@users.sourceforge.net>
for suggesting to make the function ExchangeChars() for suggesting to make the function ExchangeChars()
for reporting duplicate texts in i18n.c for reporting duplicate texts in i18n.c
for suggesting to use 'gettext' for internationalization for suggesting to use 'gettext' for internationalization
for exporting some libsi functions
Mattias Grönlund <Mattias@Gronlund.net> Mattias Grönlund <Mattias@Gronlund.net>
for pointing out a missing cleanup at program exit in case there is a problem for pointing out a missing cleanup at program exit in case there is a problem

View File

@ -6359,3 +6359,4 @@ Video Disk Recorder Revision History
without the folder path (if any). Otherwise with long folder paths the actual without the folder path (if any). Otherwise with long folder paths the actual
recording name was not visible at all. recording name was not visible at all.
- Updated the Romanian OSD texts (thanks to Lucian Muresan). - Updated the Romanian OSD texts (thanks to Lucian Muresan).
- Exported some libsi functions (thanks to Lucian Muresan).

View File

@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: si.c 2.1 2009/12/05 16:20:12 kls Exp $ * $Id: si.c 2.2 2010/02/13 10:31:52 kls Exp $
* * * *
***************************************************************************/ ***************************************************************************/
@ -311,6 +311,11 @@ static const char *CharacterTables2[] = {
static const char *SystemCharacterTable = NULL; static const char *SystemCharacterTable = NULL;
bool SystemCharacterTableIsSingleByte = true; bool SystemCharacterTableIsSingleByte = true;
bool systemCharacterTableIsSingleByte(void)
{
return SystemCharacterTableIsSingleByte;
}
bool SetSystemCharacterTable(const char *CharacterTable) { bool SetSystemCharacterTable(const char *CharacterTable) {
if (CharacterTable) { if (CharacterTable) {
for (unsigned int i = 0; i < NumEntries(CharacterTables1); i++) { for (unsigned int i = 0; i < NumEntries(CharacterTables1); i++) {
@ -335,11 +340,7 @@ bool SetSystemCharacterTable(const char *CharacterTable) {
return false; return false;
} }
// Determines the character table used in the given buffer and returns const char *getCharacterTable(const unsigned char *&buffer, int &length, bool *isSingleByte) {
// a string indicating that table. If no table can be determined, the
// default ISO6937 is returned. If a table can be determined, the buffer
// and length are adjusted accordingly.
static const char *getCharacterTable(const unsigned char *&buffer, int &length, bool *isSingleByte = NULL) {
const char *cs = "ISO6937"; const char *cs = "ISO6937";
// Workaround for broadcaster stupidity: according to // Workaround for broadcaster stupidity: according to
// "ETSI EN 300 468" the default character set is ISO6937. But unfortunately some // "ETSI EN 300 468" the default character set is ISO6937. But unfortunately some
@ -375,7 +376,7 @@ static const char *getCharacterTable(const unsigned char *&buffer, int &length,
return cs; return cs;
} }
static bool convertCharacterTable(const char *from, size_t fromLength, char *to, size_t toLength, const char *fromCode) bool convertCharacterTable(const char *from, size_t fromLength, char *to, size_t toLength, const char *fromCode)
{ {
if (SystemCharacterTable) { if (SystemCharacterTable) {
iconv_t cd = iconv_open(SystemCharacterTable, fromCode); iconv_t cd = iconv_open(SystemCharacterTable, fromCode);

View File

@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: si.h 2.2 2009/12/06 11:37:35 kls Exp $ * $Id: si.h 2.3 2010/02/13 10:31:34 kls Exp $
* * * *
***************************************************************************/ ***************************************************************************/
@ -492,6 +492,13 @@ protected:
// like "iso8859-15" or "utf-8" (case insensitive). // like "iso8859-15" or "utf-8" (case insensitive).
// Returns true if the character table was recognized. // Returns true if the character table was recognized.
bool SetSystemCharacterTable(const char *CharacterTable); bool SetSystemCharacterTable(const char *CharacterTable);
// Determines the character table used in the given buffer and returns
// a string indicating that table. If no table can be determined, the
// default ISO6937 is returned. If a table can be determined, the buffer
// and length are adjusted accordingly.
const char *getCharacterTable(const unsigned char *&buffer, int &length, bool *isSingleByte = NULL);
bool convertCharacterTable(const char *from, size_t fromLength, char *to, size_t toLength, const char *fromCode);
bool systemCharacterTableIsSingleByte(void);
} //end of namespace } //end of namespace