Bug#294041: vdr: FTBFS (amd64/gcc-4.0): dereferencing pointer to incomplete type
Andreas Jochens
pkg-vdr-dvb-devel@lists.alioth.debian.org
Mon, 07 Feb 2005 15:47:02 +0100
Package: vdr
Severity: normal
Tags: patch
When building 'vdr' on amd64 with gcc-4.0,
I get the following error:
si_parser.c: In function 'siParseDescriptor':
si_parser.c:730: error: invalid lvalue in assignment
si_parser.c:739: error: invalid lvalue in assignment
si_parser.c:745: error: invalid lvalue in assignment
si_parser.c:761: error: invalid lvalue in assignment
si_parser.c:766: error: invalid lvalue in assignment
si_parser.c:782: error: invalid lvalue in assignment
si_parser.c:793: error: invalid lvalue in assignment
si_parser.c:823: error: invalid lvalue in assignment
si_parser.c:835: error: invalid lvalue in assignment
si_parser.c:902: error: invalid lvalue in assignment
si_parser.c:919: error: invalid lvalue in assignment
si_parser.c:930: error: invalid lvalue in assignment
si_parser.c:945: error: invalid lvalue in assignment
si_parser.c:950: error: invalid lvalue in assignment
si_parser.c:956: error: invalid lvalue in assignment
si_parser.c:963: error: invalid lvalue in assignment
si_parser.c:968: error: invalid lvalue in assignment
si_parser.c:978: error: invalid lvalue in assignment
si_parser.c:996: error: invalid lvalue in assignment
si_parser.c:1016: error: invalid lvalue in assignment
si_parser.c:1045: error: invalid lvalue in assignment
si_parser.c:1078: error: invalid lvalue in assignment
si_parser.c:1107: error: invalid lvalue in assignment
si_parser.c:1132: error: invalid lvalue in assignment
si_parser.c:1146: error: invalid lvalue in assignment
make[3]: *** [si_parser.o] Error 1
make[3]: Leaving directory `/vdr-1.2.6/libdtv/libsi'
With the attached patch 'vdr' can be compiled
on amd64 using gcc-4.0.
Regards
Andreas Jochens
diff -urN ../tmp-orig/vdr-1.2.6/libdtv/libsi/include/libsi.h ./libdtv/libsi/include/libsi.h
--- ../tmp-orig/vdr-1.2.6/libdtv/libsi/include/libsi.h 2003-08-15 15:54:53.000000000 +0200
+++ ./libdtv/libsi/include/libsi.h 2005-02-07 15:27:29.331467183 +0100
@@ -380,7 +380,7 @@
#define CreateIso639LanguageDescriptor(descr, lc1, lc2, lc3) \
do \
{ \
- xCreateNode (((struct Iso639LanguageDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct Iso639LanguageDescriptor *)descr)->Tag = DESCR_ISO_639_LANGUAGE; \
((struct Iso639LanguageDescriptor *)descr)->LanguageCode[0] = lc1; \
((struct Iso639LanguageDescriptor *)descr)->LanguageCode[1] = lc2; \
@@ -411,7 +411,7 @@
#define CreateAc3Descriptor(descr) \
do \
{ \
- xCreateNode (((struct Ac3Descriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct Ac3Descriptor *)descr)->Tag = DESCR_AC3; \
} while (0)
@@ -458,7 +458,7 @@
#define CreateAncillaryDataDescriptor(descr, id) \
do \
{ \
- xCreateNode (((struct AncillaryDataDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct AncillaryDataDescriptor *)descr)->Tag = DESCR_ANCILLARY_DATA; \
((struct AncillaryDataDescriptor *)descr)->Identifier = id; \
} while (0)
@@ -478,7 +478,7 @@
#define CreateBouquetNameDescriptor(descr, text, tag) \
do \
{ \
- xCreateNode (((struct BouquetNameDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct NODE *)descr)->Name = text; \
((struct NODE *)descr)->HashKey = xHashKey (text); \
((struct BouquetNameDescriptor *)descr)->Tag = tag; \
@@ -501,7 +501,7 @@
#define CreateCountryAvailabilityDescriptor(descr, ava) \
do \
{ \
- xCreateNode (((struct CountryAvailabilityDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct CountryAvailabilityDescriptor *)descr)->Tag = DESCR_COUNTRY_AVAIL; \
((struct CountryAvailabilityDescriptor *)descr)->AvailibilityFlag = ava; \
((struct CountryAvailabilityDescriptor *)descr)->Amount = 0; \
@@ -539,7 +539,7 @@
#define CreateCaIdentifierDescriptor(descr, amo) \
do \
{ \
- xCreateNode (((struct CaIdentifierDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct CaIdentifierDescriptor *)descr)->Tag = DESCR_CA_IDENT; \
((struct CaIdentifierDescriptor *)descr)->Amount = amo; \
xMemAlloc (amo*2+2, &((struct CaIdentifierDescriptor *)descr)->SystemID); \
@@ -564,7 +564,7 @@
#define CreateCaDescriptor(descr, typ, capid, len) \
do \
{ \
- xCreateNode (((struct CaDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct CaDescriptor *)descr)->Tag = DESCR_CA; \
((struct CaDescriptor *)descr)->CA_type = typ; \
((struct CaDescriptor *)descr)->CA_PID = capid; \
@@ -588,7 +588,7 @@
#define CreateStreamIdentifierDescriptor(descr, ctag) \
do \
{ \
- xCreateNode (((struct StreamIdentifierDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct StreamIdentifierDescriptor *)descr)->Tag = DESCR_STREAM_ID; \
((struct StreamIdentifierDescriptor *)descr)->ComponentTag = (ctag); \
} while (0)
@@ -630,7 +630,7 @@
#define CreateNvodReferenceDescriptor(descr) \
do \
{ \
- xCreateNode (((struct NvodReferenceDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct NvodReferenceDescriptor *)descr)->Tag = DESCR_NVOD_REF; \
((struct NvodReferenceDescriptor *)descr)->Items = xNewList (NULL); \
} while (0)
@@ -677,7 +677,7 @@
#define CreateLinkageDescriptor(descr, tpid, onid, svid, ltyp, pdl, pdp) \
do \
{ \
- xCreateNode (((struct LinkageDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct LinkageDescriptor *)descr)->Tag = DESCR_LINKAGE; \
((struct LinkageDescriptor *)descr)->TransportStreamID = tpid; \
((struct LinkageDescriptor *)descr)->OriginalNetworkID = onid; \
@@ -702,7 +702,7 @@
#define CreateServiceDescriptor(descr, styp, prov, name) \
do \
{ \
- xCreateNode (((struct ServiceDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct NODE *)descr)->Name = name; \
((struct NODE *)descr)->HashKey = xHashKey (name); \
((struct ServiceDescriptor *)descr)->Tag = DESCR_SERVICE; \
@@ -730,7 +730,7 @@
#define CreateTimeShiftedServiceDescriptor(descr, svid) \
do \
{ \
- xCreateNode (((struct TimeShiftedServiceDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct TimeShiftedServiceDescriptor *)descr)->Tag = DESCR_TIME_SHIFTED_SERVICE; \
((struct TimeShiftedServiceDescriptor *)descr)->ReferenceServiceID = svid; \
} while (0)
@@ -748,7 +748,7 @@
#define CreateTimeShiftedEventDescriptor(descr, svid, evid) \
do \
{ \
- xCreateNode (((struct TimeShiftedEventDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct TimeShiftedEventDescriptor *)descr)->Tag = DESCR_TIME_SHIFTED_EVENT; \
((struct TimeShiftedEventDescriptor *)descr)->ReferenceServiceID = svid; \
((struct TimeShiftedEventDescriptor *)descr)->ReferenceEventID = evid; \
@@ -769,7 +769,7 @@
#define CreateComponentDescriptor(descr, scnt, ctyp, tag, lc1, lc2, lc3, txt) \
do \
{ \
- xCreateNode (((struct ComponentDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct NODE *)descr)->Name = txt; \
((struct NODE *)descr)->HashKey = xHashKey (txt); \
((struct ComponentDescriptor *)descr)->Tag = DESCR_COMPONENT; \
@@ -795,7 +795,7 @@
#define CreateContentDescriptor(descr, amo) \
do \
{ \
- xCreateNode (((struct ContentDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct ContentDescriptor *)descr)->Tag = DESCR_CONTENT; \
((struct ContentDescriptor *)descr)->Amount = amo; \
xMemAlloc (amo*2+2, &((struct ContentDescriptor *)descr)->ContentID); \
@@ -828,7 +828,7 @@
#define CreateExtendedEventDescriptor(descr, dnum, ldnb, lc1, lc2, lc3, text) \
do \
{ \
- xCreateNode (((struct ExtendedEventDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct NODE *)descr)->Name = text; \
((struct NODE *)descr)->HashKey = xHashKey (text); \
((struct ExtendedEventDescriptor *)descr)->Tag = DESCR_EXTENDED_EVENT; \
@@ -876,7 +876,7 @@
#define CreateParentalRatingDescriptor(descr) \
do \
{ \
- xCreateNode (((struct ParentalRatingDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct ParentalRatingDescriptor *)descr)->Tag = DESCR_PARENTAL_RATING; \
((struct ParentalRatingDescriptor *)descr)->Ratings = xNewList (NULL); \
} while (0)
@@ -919,7 +919,7 @@
#define CreateShortEventDescriptor(descr, name, lc1, lc2, lc3, text) \
do \
{ \
- xCreateNode (((struct ShortEventDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct NODE *)descr)->Name = name; \
((struct NODE *)descr)->HashKey = xHashKey (name); \
((struct ShortEventDescriptor *)descr)->Tag = DESCR_SHORT_EVENT; \
@@ -942,7 +942,7 @@
#define CreateTeletextDescriptor(descr) \
do \
{ \
- xCreateNode (((struct TeletextDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct TeletextDescriptor *)descr)->Tag = DESCR_TELETEXT; \
((struct TeletextDescriptor *)descr)->Items = xNewList (NULL); \
} while (0)
@@ -995,7 +995,7 @@
#define CreateSubtitlingDescriptor(descr) \
do \
{ \
- xCreateNode (((struct SubtitlingDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct SubtitlingDescriptor *)descr)->Tag = DESCR_SUBTITLING; \
((struct SubtitlingDescriptor *)descr)->Items = xNewList (NULL); \
} while (0)
@@ -1046,7 +1046,7 @@
#define CreateSatelliteDeliverySystemDescriptor(descr, freq, orb, mod, polar, sr, fec) \
do \
{ \
- xCreateNode (((struct SatelliteDeliverySystemDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct SatelliteDeliverySystemDescriptor *)descr)->Tag = DESCR_SAT_DEL_SYS; \
((struct SatelliteDeliverySystemDescriptor *)descr)->Frequency = freq; \
((struct SatelliteDeliverySystemDescriptor *)descr)->OrbitalPosition = orb; \
@@ -1071,7 +1071,7 @@
#define CreateCableDeliverySystemDescriptor(descr, freq, sr, fec_o, fec_i, mod) \
do \
{ \
- xCreateNode (((struct CableDeliverySystemDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct CableDeliverySystemDescriptor *)descr)->Tag = DESCR_CABLE_DEL_SYS; \
((struct CableDeliverySystemDescriptor *)descr)->Frequency = freq; \
((struct CableDeliverySystemDescriptor *)descr)->SymbolRate = sr; \
@@ -1099,7 +1099,7 @@
#define CreateTerrestrialDeliverySystemDescriptor(descr, freq, bw, cst, hr, crh, crl, gi, tm, ofm) \
do \
{ \
- xCreateNode (((struct CableDeliverySystemDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct TerrestrialDeliverySystemDescriptor *)descr)->Tag = DESCR_TERR_DEL_SYS; \
((struct TerrestrialDeliverySystemDescriptor *)descr)->Frequency = freq; \
((struct TerrestrialDeliverySystemDescriptor *)descr)->Bandwidth = bw; \
@@ -1123,7 +1123,7 @@
#define CreateServiceListDescriptor(descr) \
do \
{ \
- xCreateNode (((struct ServiceListDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct ServiceListDescriptor *)descr)->Tag = DESCR_SERVICE_LIST; \
((struct ServiceListDescriptor *)descr)->ServiceList = xNewList(NULL); \
} while (0)
@@ -1156,7 +1156,7 @@
#define CreateLocalTimeOffsetDescriptor(descr) \
do \
{ \
- xCreateNode (((struct LocalTimeOffsetDescriptor *)descr), NULL); \
+ xCreateNode (descr, NULL); \
((struct LocalTimeOffsetDescriptor *)descr)->Tag = DESCR_LOCAL_TIME_OFF; \
((struct LocalTimeOffsetDescriptor *)descr)->LocalTimeOffsets = xNewList(NULL); \
} while (0)