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