[pulseaudio-discuss] [PATCH] pulsecore/packet: avoid redefinition of pa_packet structure

David Henningsson david.henningsson at canonical.com
Tue Nov 17 05:29:23 PST 2015


Pushed now. Thanks for the contribution!

On 2015-11-17 12:06, Thomas Petazzoni wrote:
> packet.h defines:
>
>    typedef struct pa_packet pa_packet;
>
> and packet.c defines:
>
>    typedef struct pa_packet {
>      ...
>    } pa_packet;
>
> With old versions of gcc (such as gcc 4.5) this causes a redefinition
> error at compile time:
>
> pulsecore/packet.c:43:3: error: redefinition of typedef 'pa_packet'
> pulsecore/packet.h:26:26: note: previous declaration of 'pa_packet' was here
>
> In order to fix this, this commit changes the definition in packet.c
> to just:
>
>    struct pa_packet {
>      ...
>    };
>
> This way, the contents of the structure remain opaque to users of
> pa_packet outside packet.c, and the 'pa_packet' type remains usable.
>
> Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91334
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
>   src/pulsecore/packet.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/pulsecore/packet.c b/src/pulsecore/packet.c
> index e275d23..2a61d58 100644
> --- a/src/pulsecore/packet.c
> +++ b/src/pulsecore/packet.c
> @@ -32,7 +32,7 @@
>
>   #define MAX_APPENDED_SIZE 128
>
> -typedef struct pa_packet {
> +struct pa_packet {
>       PA_REFCNT_DECLARE;
>       enum { PA_PACKET_APPENDED, PA_PACKET_DYNAMIC } type;
>       size_t length;
> @@ -40,7 +40,7 @@ typedef struct pa_packet {
>       union {
>           uint8_t appended[MAX_APPENDED_SIZE];
>       } per_type;
> -} pa_packet;
> +};
>
>   PA_STATIC_FLIST_DECLARE(packets, 0, pa_xfree);
>
>

-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic


More information about the pulseaudio-discuss mailing list