[Spice-devel] [spice-server 1/3] Remove duplicate typedef from headers
Frediano Ziglio
fziglio at redhat.com
Wed Mar 30 15:37:41 UTC 2016
>
> On Wed, Mar 30, 2016 at 09:15:07AM -0400, Frediano Ziglio wrote:
> > >
> > > This is causing compile errors with older gcc versions.
> > >
> > > reds.h includes reds-stream.h through red-channel.h so it will get the
> > > RedsState typedef this way.
> > >
> > > red-qxl.h includes spice-qxl.h through red-channel.h and then spice.h,
> > > so it will get the QXLState typedef this way.
> > > ---
> > > server/red-qxl.h | 2 --
> > > server/reds.h | 2 --
> > > 2 files changed, 4 deletions(-)
> > >
> > > diff --git a/server/red-qxl.h b/server/red-qxl.h
> > > index b1ebbe1..ce80f97 100644
> > > --- a/server/red-qxl.h
> > > +++ b/server/red-qxl.h
> > > @@ -20,8 +20,6 @@
> > >
> > > #include "red-channel.h"
> > >
> > > -typedef struct QXLState QXLState;
> > > -
> > > typedef struct AsyncCommand AsyncCommand;
> > >
> > > void red_qxl_init(SpiceServer *reds, QXLInstance *qxl);
> >
> > This is defined in public headers already so this hunk is fine.
> >
> > > diff --git a/server/reds.h b/server/reds.h
> > > index 5966dc3..c2968c2 100644
> > > --- a/server/reds.h
> > > +++ b/server/reds.h
> > > @@ -31,8 +31,6 @@
> > > #include "main-dispatcher.h"
> > > #include "migration-protocol.h"
> > >
> > > -typedef struct RedsState RedsState;
> > > -
> > > static inline QXLInterface * qxl_get_interface(QXLInstance *qxl)
> > > {
> > > return SPICE_CONTAINEROF(qxl->base.sif, QXLInterface, base);
> >
> > This is defined in reds-stream.h and reds.h, I think be best place is
> > reds.h as it's the global state implemented in reds.h
>
> Then reds-stream.h would need an additional #include "reds.h" as
> otherwise build fails as some places are including reds-stream.h without
> including reds.h
>
> Christophe
>
You can either use "struct RedsState" or "SpiceServer".
There is only a single occurrence in reds-stream.h.
Frediano
More information about the Spice-devel
mailing list