From 12fd3cdeb491d10f2226c1356058848b19a862cc Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 24 Jan 2004 14:59:04 +0100 Subject: Changed the 'languageCode' members in the descriptor classes of 'libsi' to 'char[4]' and setting the 4th byte to 0 for easier handling --- libsi/descriptor.c | 10 +++++++++- libsi/descriptor.h | 16 ++++++++-------- 2 files changed, 17 insertions(+), 9 deletions(-) (limited to 'libsi') diff --git a/libsi/descriptor.c b/libsi/descriptor.c index a72ec009..55a6a9c0 100644 --- a/libsi/descriptor.c +++ b/libsi/descriptor.c @@ -6,7 +6,7 @@ * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * - * $Id: descriptor.c 1.4 2004/01/24 14:49:00 kls Exp $ + * $Id: descriptor.c 1.5 2004/01/24 14:52:41 kls Exp $ * * ***************************************************************************/ @@ -22,6 +22,7 @@ void ShortEventDescriptor::Parse() { languageCode[0]=s->lang_code1; languageCode[1]=s->lang_code2; languageCode[2]=s->lang_code3; + languageCode[3]=0; name.setDataAndOffset(data+offset, s->event_name_length, offset); const descr_short_event_mid *mid; data.setPointerAndOffset(mid, offset); @@ -42,6 +43,7 @@ void ExtendedEventDescriptor::Parse() { languageCode[0]=s->lang_code1; languageCode[1]=s->lang_code2; languageCode[2]=s->lang_code3; + languageCode[3]=0; itemLoop.setDataAndOffset(data+offset, s->length_of_items, offset); const descr_extended_event_mid *mid; data.setPointerAndOffset(mid, offset); @@ -183,6 +185,7 @@ void ParentalRatingDescriptor::Rating::Parse() { languageCode[0]=s->lang_code1; languageCode[1]=s->lang_code2; languageCode[2]=s->lang_code3; + languageCode[3]=0; } int CaDescriptor::getCaType() const { @@ -398,6 +401,7 @@ void ComponentDescriptor::Parse() { languageCode[0]=s->lang_code1; languageCode[1]=s->lang_code2; languageCode[2]=s->lang_code3; + languageCode[3]=0; description.setData(data+offset, getLength()-offset); } @@ -462,6 +466,7 @@ void MultilingualNameDescriptor::Name::Parse() { languageCode[0]=s->lang_code1; languageCode[1]=s->lang_code2; languageCode[2]=s->lang_code3; + languageCode[3]=0; name.setData(data+offset, s->text_length); } @@ -486,6 +491,7 @@ void MultilingualServiceNameDescriptor::Name::Parse() { languageCode[0]=s->lang_code1; languageCode[1]=s->lang_code2; languageCode[2]=s->lang_code3; + languageCode[3]=0; providerName.setDataAndOffset(data+offset, s->text_length, offset); const entry_multilingual_service_name_mid *mid; data.setPointerAndOffset(mid, offset); @@ -520,6 +526,7 @@ void ISO639LanguageDescriptor::Parse() { languageCode[0]=s->lang_code1; languageCode[1]=s->lang_code2; languageCode[2]=s->lang_code3; + languageCode[3]=0; } void ApplicationSignallingDescriptor::Parse() { @@ -590,6 +597,7 @@ void MHP_ApplicationNameDescriptor::NameEntry::Parse() { languageCode[0]=s->lang_code1; languageCode[1]=s->lang_code2; languageCode[2]=s->lang_code3; + languageCode[3]=0; } int MHP_TransportProtocolDescriptor::getProtocolId() const { diff --git a/libsi/descriptor.h b/libsi/descriptor.h index ed38239f..5541cc41 100644 --- a/libsi/descriptor.h +++ b/libsi/descriptor.h @@ -6,7 +6,7 @@ * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * - * $Id: descriptor.h 1.4 2004/01/24 14:49:00 kls Exp $ + * $Id: descriptor.h 1.5 2004/01/24 14:52:05 kls Exp $ * * ***************************************************************************/ @@ -20,7 +20,7 @@ namespace SI { class ShortEventDescriptor : public Descriptor { public: - char languageCode[3]; + char languageCode[4]; String name; //name of the event String text; //short description protected: @@ -37,7 +37,7 @@ public: protected: virtual void Parse(); }; - char languageCode[3]; + char languageCode[4]; int getDescriptorNumber(); int getLastDescriptorNumber(); StructureLoop itemLoop; @@ -93,7 +93,7 @@ class ParentalRatingDescriptor : public Descriptor { public: class Rating : public LoopElement { public: - char languageCode[3]; + char languageCode[4]; int getRating() const; virtual int getLength() { return sizeof(parental_rating); } protected: @@ -258,7 +258,7 @@ public: int getStreamContent() const; int getComponentType() const; int getComponentTag() const; - char languageCode[3]; + char languageCode[4]; String description; protected: virtual void Parse(); @@ -317,7 +317,7 @@ class MultilingualNameDescriptor : public Descriptor { public: class Name : public LoopElement { public: - char languageCode[3]; + char languageCode[4]; String name; virtual int getLength() { return sizeof(entry_multilingual_name)+name.getLength(); } protected: @@ -376,7 +376,7 @@ private: class ISO639LanguageDescriptor : public Descriptor { public: - char languageCode[3]; + char languageCode[4]; protected: virtual void Parse(); private: @@ -436,7 +436,7 @@ public: class NameEntry : public LoopElement { public: virtual int getLength() { return sizeof(descr_application_name_entry)+name.getLength(); } - char languageCode[3]; + char languageCode[4]; String name; protected: virtual void Parse(); -- cgit v1.2.3