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

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Tue Nov 17 03:06:36 PST 2015


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);
 
-- 
2.6.3



More information about the pulseaudio-discuss mailing list