src/SDL_error_c.h
author Ryan C. Gordon
Mon, 01 Jan 2018 19:16:51 -0500
changeset 11803 454f6dc9cb85
parent 10737 3406a0f8b041
child 11811 5d94cb6b24d3
permissions -rw-r--r--
windows: Remove references to GetVersionExA (thanks, Andrew Pilley!).

"GetVersionExA is deprecated in windows 8.1 and above's SDK, causing a warning
when building against the win10 SDK. Attached patch cleans up the usage for a
warning-free build.

GetVersionExA was being used to test to see if SDL was running on win9x or
winnt. A quick chat with Ryan on twitter suggested that SDL doesn't
officially support win9x anymore, so the call to this can be outright removed.

As an aside, replacing the call to GetVersionExA with VerifyVersionInfoA (the
recommended path) would have been pointless, as VerifyVersionInfoA only
supports VER_PLATFORM_WIN32_NT and doesn't officially support any other value
for dwPlatformId currently. (And it's probable that win9x SDKs didn't have
VerifyVersionInfo* in them anyway.)"

Fixes Bugzilla #4019.
slouken@0
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@10737
     3
  Copyright (C) 1997-2017 Sam Lantinga <slouken@libsdl.org>
slouken@0
     4
slouken@5535
     5
  This software is provided 'as-is', without any express or implied
slouken@5535
     6
  warranty.  In no event will the authors be held liable for any damages
slouken@5535
     7
  arising from the use of this software.
slouken@0
     8
slouken@5535
     9
  Permission is granted to anyone to use this software for any purpose,
slouken@5535
    10
  including commercial applications, and to alter it and redistribute it
slouken@5535
    11
  freely, subject to the following restrictions:
slouken@0
    12
slouken@5535
    13
  1. The origin of this software must not be misrepresented; you must not
slouken@5535
    14
     claim that you wrote the original software. If you use this software
slouken@5535
    15
     in a product, an acknowledgment in the product documentation would be
slouken@5535
    16
     appreciated but is not required.
slouken@5535
    17
  2. Altered source versions must be plainly marked as such, and must not be
slouken@5535
    18
     misrepresented as being the original software.
slouken@5535
    19
  3. This notice may not be removed or altered from any source distribution.
slouken@0
    20
*/
icculus@8093
    21
#include "./SDL_internal.h"
slouken@0
    22
slouken@0
    23
/* This file defines a structure that carries language-independent
slouken@0
    24
   error messages
slouken@0
    25
*/
slouken@0
    26
slouken@10638
    27
#ifndef SDL_error_c_h_
slouken@10638
    28
#define SDL_error_c_h_
slouken@0
    29
slouken@7191
    30
#define ERR_MAX_STRLEN  128
slouken@7191
    31
#define ERR_MAX_ARGS    5
slouken@0
    32
slouken@1895
    33
typedef struct SDL_error
slouken@1895
    34
{
slouken@1895
    35
    /* This is a numeric value corresponding to the current error */
slouken@1895
    36
    int error;
slouken@0
    37
slouken@1895
    38
    /* This is a key used to index into a language hashtable containing
slouken@1895
    39
       internationalized versions of the SDL error messages.  If the key
slouken@1895
    40
       is not in the hashtable, or no hashtable is available, the key is
slouken@1895
    41
       used directly as an error message format string.
slouken@1895
    42
     */
slouken@1895
    43
    char key[ERR_MAX_STRLEN];
slouken@0
    44
slouken@1895
    45
    /* These are the arguments for the error functions */
slouken@1895
    46
    int argc;
slouken@1895
    47
    union
slouken@1895
    48
    {
slouken@1895
    49
        void *value_ptr;
slouken@1895
    50
#if 0                           /* What is a character anyway?  (UNICODE issues) */
slouken@1895
    51
        unsigned char value_c;
slouken@0
    52
#endif
slouken@1895
    53
        int value_i;
slouken@1895
    54
        double value_f;
slouken@1895
    55
        char buf[ERR_MAX_STRLEN];
slouken@1895
    56
    } args[ERR_MAX_ARGS];
slouken@0
    57
} SDL_error;
slouken@0
    58
slouken@6044
    59
/* Defined in SDL_thread.c */
slouken@6044
    60
extern SDL_error *SDL_GetErrBuf(void);
slouken@6044
    61
slouken@10638
    62
#endif /* SDL_error_c_h_ */
slouken@4472
    63
slouken@1895
    64
/* vi: set ts=4 sw=4 expandtab: */