Fixed Visual Studio compilation problems
authorSam Lantinga <slouken@libsdl.org>
Tue, 26 Aug 2008 07:34:49 +0000
changeset 2728 2768bd7281e0
parent 2727 76c2fc9696ea
child 2729 6c8bc4d87282
Fixed Visual Studio compilation problems
src/audio/SDL_audio.c
src/audio/SDL_audiocvt.c
src/video/win32/SDL_win32mouse.c
src/video/win32/SDL_win32video.c
src/video/win32/SDL_win32video.h
src/video/win32/SDL_win32window.c
--- a/src/audio/SDL_audio.c	Tue Aug 26 07:34:23 2008 +0000
+++ b/src/audio/SDL_audio.c	Tue Aug 26 07:34:49 2008 +0000
@@ -291,10 +291,8 @@
 int
 SDL_StreamInit(SDL_AudioStreamer * stream, int max_len, Uint8 silence)
 {
-    int i;
-
     /* First try to allocate the buffer */
-    stream->buffer = (Uint8 *) malloc(max_len);
+    stream->buffer = (Uint8 *) SDL_malloc(max_len);
     if (stream->buffer == NULL) {
         return -1;
     }
@@ -304,9 +302,9 @@
     stream->write_pos = 0;
 
     /* Zero out the buffer */
-    for (i = 0; i < max_len; ++i) {
-        stream->buffer[i] = silence;
-    }
+    SDL_memset(stream->buffer, silence, max_len);
+
+    return 0;
 }
 
 /* Deinitialize the stream simply by freeing the buffer */
@@ -314,7 +312,7 @@
 SDL_StreamDeinit(SDL_AudioStreamer * stream)
 {
     if (stream->buffer != NULL) {
-        free(stream->buffer);
+        SDL_free(stream->buffer);
     }
 }
 
--- a/src/audio/SDL_audiocvt.c	Tue Aug 26 07:34:23 2008 +0000
+++ b/src/audio/SDL_audiocvt.c	Tue Aug 26 07:34:49 2008 +0000
@@ -20,6 +20,8 @@
     slouken@libsdl.org
 */
 #include "SDL_config.h"
+
+#define _USE_MATH_DEFINES
 #include <math.h>
 
 /* Functions for audio drivers to perform runtime conversion of audio format */
@@ -27,7 +29,7 @@
 #include "SDL_audio.h"
 #include "SDL_audio_c.h"
 
-#define DEBUG_CONVERT
+//#define DEBUG_CONVERT
 
 /* These are fractional multiplication routines. That is, their inputs
    are two numbers in the range [-1, 1) and the result falls in that
@@ -1369,7 +1371,7 @@
 
     w0 = 2.0f * M_PI * fc;
     cosw0 = cosf(w0);
-    alpha = sin(w0) / (2.0f * Q);
+    alpha = sinf(w0) / (2.0f * Q);
 
     /* Compute coefficients, normalizing by a0 */
     scale = 1.0f / (1.0f + alpha);
@@ -1438,7 +1440,7 @@
 #endif
 
     /* Initialize the state buffer to all zeroes, and set initial position */
-    memset(cvt->state_buf, 0, 4 * SDL_AUDIO_BITSIZE(format) / 4);
+    SDL_memset(cvt->state_buf, 0, 4 * SDL_AUDIO_BITSIZE(format) / 4);
     cvt->state_pos = 0;
 #undef convert_fixed
 }
@@ -1636,7 +1638,7 @@
     cvt->len_sinc = m + 1;
 
     /* Allocate the floating point windowed sinc. */
-    fSinc = (float *) malloc((m + 1) * sizeof(float));
+    fSinc = SDL_stack_alloc(float, (m + 1));
     if (fSinc == NULL) {
         return -1;
     }
@@ -1699,16 +1701,17 @@
     }
 
     /* Initialize the state buffer to all zeroes, and set initial position */
-    memset(cvt->state_buf, 0, cvt->len_sinc * SDL_AUDIO_BITSIZE(format) / 4);
+    SDL_memset(cvt->state_buf, 0,
+               cvt->len_sinc * SDL_AUDIO_BITSIZE(format) / 4);
     cvt->state_pos = 0;
 
     /* Clean up */
 #undef convert_fixed
-    free(fSinc);
+    SDL_stack_free(fSinc);
 }
 
 /* This is used to reduce the resampling ratio */
-inline int
+static __inline__ int
 SDL_GCD(int a, int b)
 {
     int temp;
--- a/src/video/win32/SDL_win32mouse.c	Tue Aug 26 07:34:23 2008 +0000
+++ b/src/video/win32/SDL_win32mouse.c	Tue Aug 26 07:34:49 2008 +0000
@@ -173,8 +173,8 @@
         if (tablet == index) {
             AXIS pressure;
             int cursors;
-            data->WTInfo(WTI_DEVICES, DVC_NPRESSURE, &pressure);
-            data->WTInfo(WTI_DEVICES, DVC_NCSRTYPES, &cursors);
+            data->WTInfoA(WTI_DEVICES, DVC_NPRESSURE, &pressure);
+            data->WTInfoA(WTI_DEVICES, DVC_NCSRTYPES, &cursors);
             data->mouse =
                 SDL_AddMouse(&mouse, index, device_name, pressure.axMax,
                              pressure.axMin, cursors);
--- a/src/video/win32/SDL_win32video.c	Tue Aug 26 07:34:23 2008 +0000
+++ b/src/video/win32/SDL_win32video.c	Tue Aug 26 07:34:49 2008 +0000
@@ -110,14 +110,14 @@
     data->wintabDLL = LoadLibrary(TEXT("WINTAB32.DLL"));
     if (data->wintabDLL) {
 #define PROCNAME(X) #X
-        data->WTInfo =
+        data->WTInfoA =
             (UINT(*)(UINT, UINT, LPVOID)) GetProcAddress(data->wintabDLL,
-                                                         PROCNAME(WTInfo));
-        data->WTOpen =
-            (HCTX(*)(HWND, LPLOGCONTEXT, BOOL)) GetProcAddress(data->
-                                                               wintabDLL,
-                                                               PROCNAME
-                                                               (WTOpen));
+                                                         PROCNAME(WTInfoA));
+        data->WTOpenA =
+            (HCTX(*)(HWND, LPLOGCONTEXTA, BOOL)) GetProcAddress(data->
+                                                                wintabDLL,
+                                                                PROCNAME
+                                                                (WTOpenA));
         data->WTPacket =
             (int (*)(HCTX, UINT, LPVOID)) GetProcAddress(data->wintabDLL,
                                                          PROCNAME(WTPacket));
@@ -126,7 +126,7 @@
                                            PROCNAME(WTClose));
 #undef PROCNAME
 
-        if (!data->WTInfo || !data->WTOpen || !data->WTPacket
+        if (!data->WTInfoA || !data->WTOpenA || !data->WTPacket
             || !data->WTClose) {
             FreeLibrary(data->wintabDLL);
             data->wintabDLL = NULL;
--- a/src/video/win32/SDL_win32video.h	Tue Aug 26 07:34:23 2008 +0000
+++ b/src/video/win32/SDL_win32video.h	Tue Aug 26 07:34:49 2008 +0000
@@ -69,8 +69,8 @@
 /* *INDENT-OFF* */
     /* Function pointers for the Wacom API */
     HANDLE wintabDLL;
-    UINT (*WTInfo) (UINT, UINT, LPVOID);
-    HCTX (*WTOpen) (HWND, LPLOGCONTEXT, BOOL);
+    UINT (*WTInfoA) (UINT, UINT, LPVOID);
+    HCTX (*WTOpenA) (HWND, LPLOGCONTEXTA, BOOL);
     int (*WTPacket) (HCTX, UINT, LPVOID);
     BOOL (*WTClose) (HCTX);
 /* *INDENT-ON* */
--- a/src/video/win32/SDL_win32window.c	Tue Aug 26 07:34:23 2008 +0000
+++ b/src/video/win32/SDL_win32window.c	Tue Aug 26 07:34:49 2008 +0000
@@ -151,7 +151,7 @@
     SDL_VideoData *videodata = (SDL_VideoData *) _this->driverdata;
     RAWINPUTDEVICE Rid;
     AXIS TabX, TabY;
-    LOGCONTEXT lc;
+    LOGCONTEXTA lc;
     HWND hwnd;
     HWND top;
     RECT rect;
@@ -206,15 +206,16 @@
     }
 
     /* we're configuring the tablet data. See Wintab reference for more info */
-    if (videodata->wintabDLL && videodata->WTInfo(WTI_DEFSYSCTX, 0, &lc) != 0) {
+    if (videodata->wintabDLL
+        && videodata->WTInfoA(WTI_DEFSYSCTX, 0, &lc) != 0) {
         lc.lcPktData = PACKETDATA;
         lc.lcPktMode = PACKETMODE;
         lc.lcOptions |= CXO_MESSAGES;
         lc.lcOptions |= CXO_SYSTEM;
         lc.lcMoveMask = PACKETDATA;
         lc.lcBtnDnMask = lc.lcBtnUpMask = PACKETDATA;
-        videodata->WTInfo(WTI_DEVICES, DVC_X, &TabX);
-        videodata->WTInfo(WTI_DEVICES, DVC_Y, &TabY);
+        videodata->WTInfoA(WTI_DEVICES, DVC_X, &TabX);
+        videodata->WTInfoA(WTI_DEVICES, DVC_Y, &TabY);
         lc.lcInOrgX = 0;
         lc.lcInOrgY = 0;
         lc.lcInExtX = TabX.axMax;
@@ -235,7 +236,7 @@
             }
             g_hCtx = tmp_hctx;
         }
-        g_hCtx[window->id] = videodata->WTOpen(hwnd, &lc, TRUE);
+        g_hCtx[window->id] = videodata->WTOpenA(hwnd, &lc, TRUE);
     }
 
     /* we're telling the window, we want it to report raw input events from mice */