diff options
author | Dimitar Petrovski <dimeptr@gmail.com> | 2011-07-19 21:18:11 +0200 |
---|---|---|
committer | Dimitar Petrovski <dimeptr@gmail.com> | 2011-07-19 21:18:11 +0200 |
commit | e7383edb0b991c6f3f185fbdf1b09cb485780b36 (patch) | |
tree | 43074fc6129ed1354a9c1ad248b5f1fc92e0edb3 | |
parent | d44d94f3e7b108db1e348e25aafb161c742ce868 (diff) | |
download | vdr-plugin-eepg-e7383edb0b991c6f3f185fbdf1b09cb485780b36.tar.gz vdr-plugin-eepg-e7383edb0b991c6f3f185fbdf1b09cb485780b36.tar.bz2 |
implementded eepg-0.0.6pre-freesat_huffman_decode.diff
fixed include eepg_cEIT2.diff and patch thanks to
Zoolook
-rw-r--r-- | eepg.c | 18 |
1 files changed, 15 insertions, 3 deletions
@@ -331,7 +331,7 @@ bool cFilterEEPG::allowedEPG (tChannelID kanalID) */ #ifndef FREEVIEW_NO_SYSLOG -#include "../tools.h" +#include <vdr/tools.h> /* Logging via vdr */ #ifndef isyslog #define isyslog(a...) void( (SysLogLevel > 1) ? syslog_with_tid(LOG_INFO, a) : void() ) @@ -940,6 +940,18 @@ nextloop1: void decodeText2 (const unsigned char *from, int len, char *buffer, int buffsize) { + if (from[0] == 0x1f) { + char *temp = freesat_huffman_decode (from, len); + if (temp) { + len = strlen (temp); + len = len < buffsize - 1 ? len : buffsize - 1; + strncpy (buffer, temp, len); + buffer[len] = 0; + free (temp); + return; + } + } + SI::String convStr; SI::CharArray charArray; charArray.assign(from, len); @@ -2766,7 +2778,7 @@ extern bool SystemCharacterTableIsSingleByte;*/ class cEIT2:public SI::EIT { public: - cEIT2 (cSchedules::cSchedules * Schedules, int Source, u_char Tid, const u_char * Data, + cEIT2 (cSchedules * Schedules, int Source, u_char Tid, const u_char * Data, bool OnlyRunningStatus = false); #ifdef USE_NOEPG @@ -2795,7 +2807,7 @@ extern bool SystemCharacterTableIsSingleByte;*/ } #endif /* NOEPG */ - cEIT2::cEIT2 (cSchedules::cSchedules * Schedules, int Source, u_char Tid, const u_char * Data, bool OnlyRunningStatus) + cEIT2::cEIT2 (cSchedules * Schedules, int Source, u_char Tid, const u_char * Data, bool OnlyRunningStatus) : SI::EIT (Data, false) { if (!CheckCRCAndParse ()) return; |