Hi Frank, On 6 January 2016 at 21:56, Frank Henigman <fjhenig...@google.com> wrote: > Facilitates platform-specific code in core functions, like the forthcoming > wflinfo-like function. > > Signed-off-by: Frank Henigman <fjhenig...@google.com> > --- > src/waffle/api/waffle_init.c | 32 +++++++++++++++++++++----------- > src/waffle/core/wcore_platform.h | 1 + > 2 files changed, 22 insertions(+), 11 deletions(-) > > diff --git a/src/waffle/api/waffle_init.c b/src/waffle/api/waffle_init.c > index 60091d1..3d8d350 100644 > --- a/src/waffle/api/waffle_init.c > +++ b/src/waffle/api/waffle_init.c > @@ -142,43 +142,53 @@ waffle_init_parse_attrib_list( > static struct wcore_platform* > waffle_init_create_platform(int32_t waffle_platform) > { > + struct wcore_platform *wc_platform = NULL; > + > switch (waffle_platform) { > #ifdef WAFFLE_HAS_ANDROID > case WAFFLE_PLATFORM_ANDROID: > - return droid_platform_create(); > + wc_platform = droid_platform_create(); > + break; > #endif > #ifdef WAFFLE_HAS_CGL > case WAFFLE_PLATFORM_CGL: > - return cgl_platform_create(); > + wc_platform = cgl_platform_create(); > + break; > #endif > #ifdef WAFFLE_HAS_GLX > case WAFFLE_PLATFORM_GLX: > - return glx_platform_create(); > + wc_platform = glx_platform_create(); > + break; > #endif > #ifdef WAFFLE_HAS_WAYLAND > case WAFFLE_PLATFORM_WAYLAND: > - return wayland_platform_create(); > + wc_platform = wayland_platform_create(); > + break; > #endif > #ifdef WAFFLE_HAS_X11_EGL > case WAFFLE_PLATFORM_X11_EGL: > - return xegl_platform_create(); > + wc_platform = xegl_platform_create(); > + break; > #endif > #ifdef WAFFLE_HAS_GBM > case WAFFLE_PLATFORM_GBM: > - return wgbm_platform_create(); > + wc_platform = wgbm_platform_create(); > + break; > #endif > #ifdef WAFFLE_HAS_WGL > case WAFFLE_PLATFORM_WGL: > - return wgl_platform_create(); > + wc_platform = wgl_platform_create(); > + break; > #endif > #ifdef WAFFLE_HAS_NACL > case WAFFLE_PLATFORM_NACL: > - return nacl_platform_create(); > + wc_platform = nacl_platform_create(); > + break; > #endif > - default: > - assert(false); > - return NULL; If we remove the default statement the compiler will shout loudly at us. Just initialize wc_platform here ?
> } > + assert(wc_platform); > + wc_platform->waffle_platform = waffle_platform; > + return wc_platform; > } > > WAFFLE_API bool > diff --git a/src/waffle/core/wcore_platform.h > b/src/waffle/core/wcore_platform.h > index 780d07a..30d1c6c 100644 > --- a/src/waffle/core/wcore_platform.h > +++ b/src/waffle/core/wcore_platform.h > @@ -139,6 +139,7 @@ struct wcore_platform_vtbl { > > struct wcore_platform { > const struct wcore_platform_vtbl *vtbl; > + int32_t waffle_platform; // WAFFLE_PLATFORM_* enum Worth using the enum here ? (same goes for patch 2) -Emil _______________________________________________ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle