dlls/wined3d/directx: Fix (and simplify) the ATI case in IWineD3DImpl_FillGLCaps.

Gerald Pfeifer gerald at pfeifer.com
Sun Jun 7 07:13:06 CDT 2009


This was completey broken (no char ever can be > '9' and < '0' at the
same time), and also overly complicated.

This fixes both.

Gerald


ChangeLog:
Fix (and simplify) the ATI case in IWineD3DImpl_FillGLCaps.

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 4a2a270..9caf35b 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -614,21 +614,15 @@ static BOOL IWineD3DImpl_FillGLCaps(WineD3D_GL_Info *gl_info) {
             major = minor = 0;
             gl_string_cursor = strchr(gl_string, '-');
             if (gl_string_cursor) {
-                int error = 0;
                 gl_string_cursor++;
 
                 /* Check if version number is of the form x.y.z */
-                if (*gl_string_cursor > '9' && *gl_string_cursor < '0')
-                    error = 1;
-                if (!error && *(gl_string_cursor+2) > '9' && *(gl_string_cursor+2) < '0')
-                    error = 1;
-                if (!error && *(gl_string_cursor+4) > '9' && *(gl_string_cursor+4) < '0')
-                    error = 1;
-                if (!error && *(gl_string_cursor+1) != '.' && *(gl_string_cursor+3) != '.')
-                    error = 1;
-
-                /* Mark version number as malformed */
-                if (error)
+                if ( *gl_string_cursor < '0' || *gl_string_cursor > '9'
+                     || *(gl_string_cursor+1) != '.'
+                     || *(gl_string_cursor+2) < '0' || *(gl_string_cursor+2) > '9'
+                     || *(gl_string_cursor+3) != '.'
+                     || *(gl_string_cursor+4) < '0' || *(gl_string_cursor+4) > '9' )
+                    /* Mark version number as malformed */
                     gl_string_cursor = 0;
             }
 



More information about the wine-patches mailing list