Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: vdr-1.2.2-libsi.patch



Reinhard Nissl wrote:
> 
> Hi,
> 
> this patch solves a symbol collision of libsi with libxine, which I'm going to
> use in my plugin.
> 
> I've to thank Mike Pieper for pointing me to this solution.
> 
> Bye.
> --
> Dipl.-Inform. (FH) Reinhard Nissl
> mailto:rnissl@gmx.de
> 
>   ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> diff -ur vdr-1.2.2.orig/libdtv/libsi/si_parser.c vdr-1.2.2/libdtv/libsi/si_parser.c
> --- vdr-1.2.2.orig/libdtv/libsi/si_parser.c     2003-05-11 17:06:57.000000000 +0200
> +++ vdr-1.2.2/libdtv/libsi/si_parser.c  2003-08-10 13:58:25.000000000 +0200
> @@ -60,7 +60,7 @@
> 
>     SectionLength = HILO (Pat->section_length) + 3 - PAT_LEN - 4;
> 
> -   if (crc32 (Ptr, HILO (Pat->section_length) + 3)) return (NULL);
> +   if (si_crc32 (Ptr, HILO (Pat->section_length) + 3)) return (NULL);
> 
>     TransportStreamID = HILO (Pat->transport_stream_id);
>     PatVersion = Pat->version_number;
> @@ -106,7 +106,7 @@
> 
>     SectionLength = HILO (Cat->section_length) + 3 - CAT_LEN - 4;
> 
> -   if (crc32 (Ptr, HILO (Cat->section_length) + 3)) return (NULL);
> +   if (si_crc32 (Ptr, HILO (Cat->section_length) + 3)) return (NULL);
> 
>     CatVersion = Cat->version_number;
> 
> @@ -146,7 +146,7 @@
> 
>     SectionLength = HILO (Pmt->section_length) + 3 - 4;
> 
> -   if (crc32 (Ptr, HILO (Pmt->section_length) + 3)) return (NULL);
> +   if (si_crc32 (Ptr, HILO (Pmt->section_length) + 3)) return (NULL);
> 
>     ProgramInfoLength = HILO (Pmt->program_info_length);
>     StreamLength = SectionLength - ProgramInfoLength - PMT_LEN;
> @@ -212,7 +212,7 @@
> 
>     SectionLength = HILO (Nit->section_length) + 3 - NIT_LEN - 4;
> 
> -   if (crc32 (Ptr, HILO (Nit->section_length) + 3)) return (NULL);
> +   if (si_crc32 (Ptr, HILO (Nit->section_length) + 3)) return (NULL);
> 
>     NitVersion = Nit->version_number;
>     NetworkID = HILO (Nit->network_id);
> @@ -292,7 +292,7 @@
> 
>     SectionLength = HILO (Sdt->section_length) + 3 - SDT_LEN - 4;
> 
> -   if (crc32 (Ptr, HILO (Sdt->section_length) + 3)) return (NULL);
> +   if (si_crc32 (Ptr, HILO (Sdt->section_length) + 3)) return (NULL);
> 
>     TransportStreamID = HILO (Sdt->transport_stream_id);
>     SdtVersion = Sdt->version_number;
> @@ -378,7 +378,7 @@
> 
>     SectionLength = HILO (Eit->section_length) + 3 - EIT_LEN - 4;
> 
> -   if (crc32 (Ptr, HILO (Eit->section_length) + 3)) return (NULL);
> +   if (si_crc32 (Ptr, HILO (Eit->section_length) + 3)) return (NULL);
> 
>     ServiceID = HILO (Eit->service_id);
>     TransportStreamID = HILO (Eit->transport_stream_id);
> @@ -483,7 +483,7 @@
>        return NULL;
>     }
> 
> -   if (crc32 (Ptr, HILO (Tot->section_length) + 3)) return (NULL);
> +   if (si_crc32 (Ptr, HILO (Tot->section_length) + 3)) return (NULL);
>  //   SectionLength = HILO (Tot->section_length) + 3 - TOT_LEN - 4;
> 
>     CurrentTime = MjdToEpochTime (Tot->utc_mjd) +
> @@ -1323,7 +1323,7 @@
>         0x933eb0bb, 0x97ffad0c, 0xafb010b1, 0xab710d06, 0xa6322bdf, 0xa2f33668,
>         0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4};
> 
> -u_long crc32 (char *data, int len)
> +u_long si_crc32 (char *data, int len)
>  {
>         register int i;
>         u_long crc = 0xffffffff;

Is there a particular reason why crc32() is externally accessible?
Wouldn't it be enough to remove the declaration crc32() from
libdtv/libsi/include/libsi.h and make the function 'static' in
libdtv/libsi/si_parser.c?

Just an idea... I have no problem applying the above patch, but
I think a library shouldn't export any functions that aren't
necessarily needed outside.

Klaus


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index