Patchwork (dont commit) virtio-gl-fixes for build on F17

login
register
mail settings
Submitter Alon Levy
Date Jan. 10, 2012, 8:44 a.m.
Message ID <1326185044-31983-1-git-send-email-alevy@redhat.com>
Download mbox | patch
Permalink /patch/135443/
State New
Headers show

Comments

Alon Levy - Jan. 10, 2012, 8:44 a.m.
All but the last are assigned but unused variables,
and an always true comparison, but the last looks like a logic
error - decode not returning the actual return value for the last call
in the buffer (vmgl-exec.c).
---
 gl/gloffscreen-xcomposite.c |    4 +---
 gl/vmgl-exec.c              |   10 +++++-----
 2 files changed, 6 insertions(+), 8 deletions(-)
Alon Levy - Jan. 12, 2012, 10:42 a.m.
On Tue, Jan 10, 2012 at 08:13:00PM +0100, andrzej zaborowski wrote:
> On 10 January 2012 09:44, Alon Levy <alevy@redhat.com> wrote:
> > All but the last are assigned but unused variables,
> > and an always true comparison, but the last looks like a logic
> > error - decode not returning the actual return value for the last call
> > in the buffer (vmgl-exec.c).
> > ---
> >  gl/gloffscreen-xcomposite.c |    4 +---
> >  gl/vmgl-exec.c              |   10 +++++-----
> >  2 files changed, 6 insertions(+), 8 deletions(-)
> >
> > diff --git a/gl/gloffscreen-xcomposite.c b/gl/gloffscreen-xcomposite.c
> > index 5c63ed4..00a419b 100644
> > --- a/gl/gloffscreen-xcomposite.c
> > +++ b/gl/gloffscreen-xcomposite.c
> > @@ -186,8 +186,6 @@ static void glo_test_readback_methods(void)
> >  /* Initialise gloffscreen */
> >  int glo_init(void)
> >  {
> > -    XErrorHandler old_handler;
> > -
> >     if (glo_inited) {
> >         return 0;
> >     }
> > @@ -204,7 +202,7 @@ int glo_init(void)
> >     /* Safe because we are single threaded. Otherwise we cause recursion
> >      * on the next call.  Set the X error handler.  */
> >     glo_inited = 1;
> > -    old_handler = XSetErrorHandler(x_errhandler);
> > +    (void)XSetErrorHandler(x_errhandler);
> >     glo_test_readback_methods();
> >
> >     return 0;
> > diff --git a/gl/vmgl-exec.c b/gl/vmgl-exec.c
> > index e538ff4..3cf5eba 100644
> > --- a/gl/vmgl-exec.c
> > +++ b/gl/vmgl-exec.c
> > @@ -668,7 +668,7 @@ static int glXGetConfigFunc(uint32_t visualid, uint32_t attrib, uint32_t *value)
> >  {
> >     const VmglGLXFBConfig *config = &fbconfigs[0];
> >
> > -    if (visualid >= 0 && visualid < ARRAY_SIZE(fbconfigs)) {
> > +    if (visualid < ARRAY_SIZE(fbconfigs)) {
> >         config = &fbconfigs[visualid];
> >     } else {
> >         DEBUGF("Unknown visual ID %d\n", visualid);
> > @@ -3072,11 +3072,12 @@ static inline int do_decode_call(ProcessStruct *p, const uint8_t *args_in,
> >                 int args_len, uint8_t *r_buffer)
> >  {
> >     Signature *signature;
> > -    int i, ret;
> > -    const uint8_t *arg_ptr, *tmp;
> > +    int i;
> > +    const uint8_t *arg_ptr;
> >     static arg_t args[50];
> >     int func_number;
> >     ProcessState *process = DO_UPCAST(ProcessState, p, p);
> > +    int ret = 1;
> >
> >     if (!args_len) {
> >         return 0;
> > @@ -3099,7 +3100,6 @@ static inline int do_decode_call(ProcessStruct *p, const uint8_t *args_in,
> >  #endif
> >
> >         signature = (Signature *) tab_opengl_calls[func_number];
> > -        tmp = arg_ptr;
> >
> >         for (i = 0; i < signature->nb_args; i++) {
> >             int args_size = *(const uint32_t *) arg_ptr;
> > @@ -3220,7 +3220,7 @@ static inline int do_decode_call(ProcessStruct *p, const uint8_t *args_in,
> >     }
> >  #endif
> >
> > -    return 1;
> > +    return ret;
> 
> Thanks for the compile test.  I think I was meaning to check ret after
> every do_function_call call and return immediately if 0.  I'll fix it
> in a future iteration and add your other fixes if you don't mind.

Don't mind at all! But for some reason this email and the other one I
send before it to you and to the qemu-devel list didn't reach the list.
If you saw this email is it too much to assume you saw the other one as
well?

> 
> Cheers
andrzej zaborowski - Jan. 12, 2012, 1:18 p.m.
On 12 January 2012 11:42, Alon Levy <alevy@redhat.com> wrote:
> Don't mind at all! But for some reason this email and the other one I
> send before it to you and to the qemu-devel list didn't reach the list.
> If you saw this email is it too much to assume you saw the other one as
> well?

Thanks.
http://lists.nongnu.org/archive/html/qemu-devel/2012-01/msg01441.html
shows the three of your emails that I got too.

Cheers

Patch

diff --git a/gl/gloffscreen-xcomposite.c b/gl/gloffscreen-xcomposite.c
index 5c63ed4..00a419b 100644
--- a/gl/gloffscreen-xcomposite.c
+++ b/gl/gloffscreen-xcomposite.c
@@ -186,8 +186,6 @@  static void glo_test_readback_methods(void)
 /* Initialise gloffscreen */
 int glo_init(void)
 {
-    XErrorHandler old_handler;
-
     if (glo_inited) {
         return 0;
     }
@@ -204,7 +202,7 @@  int glo_init(void)
     /* Safe because we are single threaded. Otherwise we cause recursion
      * on the next call.  Set the X error handler.  */
     glo_inited = 1;
-    old_handler = XSetErrorHandler(x_errhandler);
+    (void)XSetErrorHandler(x_errhandler);
     glo_test_readback_methods();
 
     return 0;
diff --git a/gl/vmgl-exec.c b/gl/vmgl-exec.c
index e538ff4..3cf5eba 100644
--- a/gl/vmgl-exec.c
+++ b/gl/vmgl-exec.c
@@ -668,7 +668,7 @@  static int glXGetConfigFunc(uint32_t visualid, uint32_t attrib, uint32_t *value)
 {
     const VmglGLXFBConfig *config = &fbconfigs[0];
 
-    if (visualid >= 0 && visualid < ARRAY_SIZE(fbconfigs)) {
+    if (visualid < ARRAY_SIZE(fbconfigs)) {
         config = &fbconfigs[visualid];
     } else {
         DEBUGF("Unknown visual ID %d\n", visualid);
@@ -3072,11 +3072,12 @@  static inline int do_decode_call(ProcessStruct *p, const uint8_t *args_in,
                 int args_len, uint8_t *r_buffer)
 {
     Signature *signature;
-    int i, ret;
-    const uint8_t *arg_ptr, *tmp;
+    int i;
+    const uint8_t *arg_ptr;
     static arg_t args[50];
     int func_number;
     ProcessState *process = DO_UPCAST(ProcessState, p, p);
+    int ret = 1;
 
     if (!args_len) {
         return 0;
@@ -3099,7 +3100,6 @@  static inline int do_decode_call(ProcessStruct *p, const uint8_t *args_in,
 #endif
 
         signature = (Signature *) tab_opengl_calls[func_number];
-        tmp = arg_ptr;
 
         for (i = 0; i < signature->nb_args; i++) {
             int args_size = *(const uint32_t *) arg_ptr;
@@ -3220,7 +3220,7 @@  static inline int do_decode_call(ProcessStruct *p, const uint8_t *args_in,
     }
 #endif
 
-    return 1;
+    return ret;
 }
 
 #define GL_PASSTHROUGH_ABI 1