Patchwork console: Don't expose the the ui module's functions when the module is not available.

login
register
mail settings
Submitter TeLeMan
Date July 26, 2011, 2:24 a.m.
Message ID <1311647049-1896-1-git-send-email-geleman@gmail.com>
Download mbox | patch
Permalink /patch/106773/
State New
Headers show

Comments

TeLeMan - July 26, 2011, 2:24 a.m.
If there is no sdl support, the implement of sdl_display_init() is missing and its declaration should not be exposed.
vnc, cocoa, curses and other ui modules are the same as sdl.

Signed-off-by: TeLeMan <geleman@gmail.com>
---
 console.h |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)
Anthony Liguori - July 26, 2011, 2:32 a.m.
On 07/25/2011 09:24 PM, TeLeMan wrote:
> If there is no sdl support, the implement of sdl_display_init() is missing and its declaration should not be exposed.
> vnc, cocoa, curses and other ui modules are the same as sdl.
>
> Signed-off-by: TeLeMan<geleman@gmail.com>

Nack.

There's no harm in exposing these and it avoids cluttered #ifdefs.

Regards,

Anthony Liguori

> ---
>   console.h |    9 ++++++++-
>   1 files changed, 8 insertions(+), 1 deletions(-)
>
> diff --git a/console.h b/console.h
> index 67d1373..ede8bea 100644
> --- a/console.h
> +++ b/console.h
> @@ -363,19 +363,24 @@ void qemu_console_copy(DisplayState *ds, int src_x, int src_y,
>                          int dst_x, int dst_y, int w, int h);
>
>   /* sdl.c */
> +#ifdef CONFIG_SDL
>   void sdl_display_init(DisplayState *ds, int full_screen, int no_frame);
> +#endif
>
>   /* cocoa.m */
> +#ifdef CONFIG_COCOA
>   void cocoa_display_init(DisplayState *ds, int full_screen);
> +#endif
>
>   /* vnc.c */
> +#ifdef CONFIG_VNC
>   void vnc_display_init(DisplayState *ds);
>   void vnc_display_close(DisplayState *ds);
>   int vnc_display_open(DisplayState *ds, const char *display);
>   void vnc_display_add_client(DisplayState *ds, int csock, int skipauth);
>   int vnc_display_disable_login(DisplayState *ds);
>   char *vnc_display_local_addr(DisplayState *ds);
> -#ifdef CONFIG_VNC
> +
>   int vnc_display_password(DisplayState *ds, const char *password);
>   int vnc_display_pw_expire(DisplayState *ds, time_t expires);
>   void do_info_vnc_print(Monitor *mon, const QObject *data);
> @@ -401,6 +406,8 @@ static inline void do_info_vnc_print(Monitor *mon, const QObject *data)
>   #endif
>
>   /* curses.c */
> +#ifdef CONFIG_CURSES
>   void curses_display_init(DisplayState *ds, int full_screen);
> +#endif
>
>   #endif
TeLeMan - July 26, 2011, 2:56 a.m.
On Tue, Jul 26, 2011 at 10:32, Anthony Liguori <aliguori@us.ibm.com> wrote:
> On 07/25/2011 09:24 PM, TeLeMan wrote:
>>
>> If there is no sdl support, the implement of sdl_display_init() is missing
>> and its declaration should not be exposed.
>> vnc, cocoa, curses and other ui modules are the same as sdl.
>>
>> Signed-off-by: TeLeMan<geleman@gmail.com>
>
> Nack.
>
> There's no harm in exposing these and it avoids cluttered #ifdefs.
This patch can avoid breakage on link stage . See my another patch:
http://lists.nongnu.org/archive/html/qemu-devel/2011-07/msg02616.html


> Regards,
>
> Anthony Liguori
>
>> ---
>>  console.h |    9 ++++++++-
>>  1 files changed, 8 insertions(+), 1 deletions(-)
>>
>> diff --git a/console.h b/console.h
>> index 67d1373..ede8bea 100644
>> --- a/console.h
>> +++ b/console.h
>> @@ -363,19 +363,24 @@ void qemu_console_copy(DisplayState *ds, int src_x,
>> int src_y,
>>                         int dst_x, int dst_y, int w, int h);
>>
>>  /* sdl.c */
>> +#ifdef CONFIG_SDL
>>  void sdl_display_init(DisplayState *ds, int full_screen, int no_frame);
>> +#endif
>>
>>  /* cocoa.m */
>> +#ifdef CONFIG_COCOA
>>  void cocoa_display_init(DisplayState *ds, int full_screen);
>> +#endif
>>
>>  /* vnc.c */
>> +#ifdef CONFIG_VNC
>>  void vnc_display_init(DisplayState *ds);
>>  void vnc_display_close(DisplayState *ds);
>>  int vnc_display_open(DisplayState *ds, const char *display);
>>  void vnc_display_add_client(DisplayState *ds, int csock, int skipauth);
>>  int vnc_display_disable_login(DisplayState *ds);
>>  char *vnc_display_local_addr(DisplayState *ds);
>> -#ifdef CONFIG_VNC
>> +
>>  int vnc_display_password(DisplayState *ds, const char *password);
>>  int vnc_display_pw_expire(DisplayState *ds, time_t expires);
>>  void do_info_vnc_print(Monitor *mon, const QObject *data);
>> @@ -401,6 +406,8 @@ static inline void do_info_vnc_print(Monitor *mon,
>> const QObject *data)
>>  #endif
>>
>>  /* curses.c */
>> +#ifdef CONFIG_CURSES
>>  void curses_display_init(DisplayState *ds, int full_screen);
>> +#endif
>>
>>  #endif
>
>

Patch

diff --git a/console.h b/console.h
index 67d1373..ede8bea 100644
--- a/console.h
+++ b/console.h
@@ -363,19 +363,24 @@  void qemu_console_copy(DisplayState *ds, int src_x, int src_y,
                        int dst_x, int dst_y, int w, int h);
 
 /* sdl.c */
+#ifdef CONFIG_SDL
 void sdl_display_init(DisplayState *ds, int full_screen, int no_frame);
+#endif
 
 /* cocoa.m */
+#ifdef CONFIG_COCOA
 void cocoa_display_init(DisplayState *ds, int full_screen);
+#endif
 
 /* vnc.c */
+#ifdef CONFIG_VNC
 void vnc_display_init(DisplayState *ds);
 void vnc_display_close(DisplayState *ds);
 int vnc_display_open(DisplayState *ds, const char *display);
 void vnc_display_add_client(DisplayState *ds, int csock, int skipauth);
 int vnc_display_disable_login(DisplayState *ds);
 char *vnc_display_local_addr(DisplayState *ds);
-#ifdef CONFIG_VNC
+
 int vnc_display_password(DisplayState *ds, const char *password);
 int vnc_display_pw_expire(DisplayState *ds, time_t expires);
 void do_info_vnc_print(Monitor *mon, const QObject *data);
@@ -401,6 +406,8 @@  static inline void do_info_vnc_print(Monitor *mon, const QObject *data)
 #endif
 
 /* curses.c */
+#ifdef CONFIG_CURSES
 void curses_display_init(DisplayState *ds, int full_screen);
+#endif
 
 #endif