Specify SDLCALL as the calling convention for API callbacks.
authorOzkan Sezer <sezero@users.sourceforge.net>
Sat, 21 Oct 2017 17:00:00 +0300
changeset 817aef7a1784ffd
parent 816 6e38c1680f19
child 818 944767bb6fb8
Specify SDLCALL as the calling convention for API callbacks.
This is in parallel with bug #3745.
SDL_mixer.h
effect_position.c
effect_stereoreverse.c
mixer.c
music.c
music.h
music_fluidsynth.c
playwave.c
     1.1 --- a/SDL_mixer.h	Sat Oct 21 04:03:49 2017 -0700
     1.2 +++ b/SDL_mixer.h	Sat Oct 21 17:00:00 2017 +0300
     1.3 @@ -205,17 +205,17 @@
     1.4     This can be used to provide real-time visual display of the audio stream
     1.5     or add a custom mixer filter for the stream data.
     1.6  */
     1.7 -extern DECLSPEC void SDLCALL Mix_SetPostMix(void (*mix_func)(void *udata, Uint8 *stream, int len), void *arg);
     1.8 +extern DECLSPEC void SDLCALL Mix_SetPostMix(void (SDLCALL *mix_func)(void *udata, Uint8 *stream, int len), void *arg);
     1.9  
    1.10  /* Add your own music player or additional mixer function.
    1.11     If 'mix_func' is NULL, the default music player is re-enabled.
    1.12   */
    1.13 -extern DECLSPEC void SDLCALL Mix_HookMusic(void (*mix_func)(void *udata, Uint8 *stream, int len), void *arg);
    1.14 +extern DECLSPEC void SDLCALL Mix_HookMusic(void (SDLCALL *mix_func)(void *udata, Uint8 *stream, int len), void *arg);
    1.15  
    1.16  /* Add your own callback for when the music has finished playing or when it is
    1.17   * stopped from a call to Mix_HaltMusic.
    1.18   */
    1.19 -extern DECLSPEC void SDLCALL Mix_HookMusicFinished(void (*music_finished)(void));
    1.20 +extern DECLSPEC void SDLCALL Mix_HookMusicFinished(void (SDLCALL *music_finished)(void));
    1.21  
    1.22  /* Get a pointer to the user data for the current music hook */
    1.23  extern DECLSPEC void * SDLCALL Mix_GetMusicHookData(void);
    1.24 @@ -228,7 +228,7 @@
    1.25   *  inside the audio callback, or SDL_mixer will explicitly lock the audio
    1.26   *  before calling your callback.
    1.27   */
    1.28 -extern DECLSPEC void SDLCALL Mix_ChannelFinished(void (*channel_finished)(int channel));
    1.29 +extern DECLSPEC void SDLCALL Mix_ChannelFinished(void (SDLCALL *channel_finished)(int channel));
    1.30  
    1.31  
    1.32  /* Special Effects API by ryan c. gordon. (icculus@icculus.org) */
    1.33 @@ -252,7 +252,7 @@
    1.34   *
    1.35   * DO NOT EVER call SDL_LockAudio() from your callback function!
    1.36   */
    1.37 -typedef void (*Mix_EffectFunc_t)(int chan, void *stream, int len, void *udata);
    1.38 +typedef void (SDLCALL *Mix_EffectFunc_t)(int chan, void *stream, int len, void *udata);
    1.39  
    1.40  /*
    1.41   * This is a callback that signifies that a channel has finished all its
    1.42 @@ -263,7 +263,7 @@
    1.43   *
    1.44   * DO NOT EVER call SDL_LockAudio() from your callback function!
    1.45   */
    1.46 -typedef void (*Mix_EffectDone_t)(int chan, void *udata);
    1.47 +typedef void (SDLCALL *Mix_EffectDone_t)(int chan, void *udata);
    1.48  
    1.49  
    1.50  /* Register a special effect function. At mixing time, the channel data is
    1.51 @@ -613,7 +613,7 @@
    1.52  /* Set/Get/Iterate SoundFonts paths to use by supported MIDI backends */
    1.53  extern DECLSPEC int SDLCALL Mix_SetSoundFonts(const char *paths);
    1.54  extern DECLSPEC const char* SDLCALL Mix_GetSoundFonts(void);
    1.55 -extern DECLSPEC int SDLCALL Mix_EachSoundFont(int (*function)(const char*, void*), void *data);
    1.56 +extern DECLSPEC int SDLCALL Mix_EachSoundFont(int (SDLCALL *function)(const char*, void*), void *data);
    1.57  
    1.58  /* Get the Mix_Chunk currently associated with a mixer channel
    1.59      Returns NULL if it's an invalid channel, or there's no chunk associated.
     2.1 --- a/effect_position.c	Sat Oct 21 04:03:49 2017 -0700
     2.2 +++ b/effect_position.c	Sat Oct 21 17:00:00 2017 +0300
     2.3 @@ -99,7 +99,7 @@
     2.4  
     2.5  
     2.6  /* This just frees up the callback-specific data. */
     2.7 -static void _Eff_PositionDone(int channel, void *udata)
     2.8 +static void SDLCALL _Eff_PositionDone(int channel, void *udata)
     2.9  {
    2.10      if (channel < 0) {
    2.11          if (pos_args_global != NULL) {
    2.12 @@ -115,7 +115,7 @@
    2.13  }
    2.14  
    2.15  
    2.16 -static void _Eff_position_u8(int chan, void *stream, int len, void *udata)
    2.17 +static void SDLCALL _Eff_position_u8(int chan, void *stream, int len, void *udata)
    2.18  {
    2.19      volatile position_args *args = (volatile position_args *) udata;
    2.20      Uint8 *ptr = (Uint8 *) stream;
    2.21 @@ -152,7 +152,7 @@
    2.22          ptr++;
    2.23      }
    2.24  }
    2.25 -static void _Eff_position_u8_c4(int chan, void *stream, int len, void *udata)
    2.26 +static void SDLCALL _Eff_position_u8_c4(int chan, void *stream, int len, void *udata)
    2.27  {
    2.28      volatile position_args *args = (volatile position_args *) udata;
    2.29      Uint8 *ptr = (Uint8 *) stream;
    2.30 @@ -236,7 +236,7 @@
    2.31  }
    2.32  
    2.33  
    2.34 -static void _Eff_position_u8_c6(int chan, void *stream, int len, void *udata)
    2.35 +static void SDLCALL _Eff_position_u8_c6(int chan, void *stream, int len, void *udata)
    2.36  {
    2.37      volatile position_args *args = (volatile position_args *) udata;
    2.38      Uint8 *ptr = (Uint8 *) stream;
    2.39 @@ -358,7 +358,7 @@
    2.40   *  in case the user has called Mix_SetPanning() or whatnot again while this
    2.41   *  callback is running.
    2.42   */
    2.43 -static void _Eff_position_table_u8(int chan, void *stream, int len, void *udata)
    2.44 +static void SDLCALL _Eff_position_table_u8(int chan, void *stream, int len, void *udata)
    2.45  {
    2.46      volatile position_args *args = (volatile position_args *) udata;
    2.47      Uint8 *ptr = (Uint8 *) stream;
    2.48 @@ -407,7 +407,7 @@
    2.49  }
    2.50  
    2.51  
    2.52 -static void _Eff_position_s8(int chan, void *stream, int len, void *udata)
    2.53 +static void SDLCALL _Eff_position_s8(int chan, void *stream, int len, void *udata)
    2.54  {
    2.55      volatile position_args *args = (volatile position_args *) udata;
    2.56      Sint8 *ptr = (Sint8 *) stream;
    2.57 @@ -439,7 +439,7 @@
    2.58          ptr++;
    2.59      }
    2.60  }
    2.61 -static void _Eff_position_s8_c4(int chan, void *stream, int len, void *udata)
    2.62 +static void SDLCALL _Eff_position_s8_c4(int chan, void *stream, int len, void *udata)
    2.63  {
    2.64      volatile position_args *args = (volatile position_args *) udata;
    2.65      Sint8 *ptr = (Sint8 *) stream;
    2.66 @@ -485,7 +485,7 @@
    2.67        }
    2.68      }
    2.69  }
    2.70 -static void _Eff_position_s8_c6(int chan, void *stream, int len, void *udata)
    2.71 +static void SDLCALL _Eff_position_s8_c6(int chan, void *stream, int len, void *udata)
    2.72  {
    2.73      volatile position_args *args = (volatile position_args *) udata;
    2.74      Sint8 *ptr = (Sint8 *) stream;
    2.75 @@ -552,7 +552,7 @@
    2.76   *  in case the user has called Mix_SetPanning() or whatnot again while this
    2.77   *  callback is running.
    2.78   */
    2.79 -static void _Eff_position_table_s8(int chan, void *stream, int len, void *udata)
    2.80 +static void SDLCALL _Eff_position_table_s8(int chan, void *stream, int len, void *udata)
    2.81  {
    2.82      volatile position_args *args = (volatile position_args *) udata;
    2.83      Sint8 *ptr = (Sint8 *) stream;
    2.84 @@ -602,7 +602,7 @@
    2.85  
    2.86  /* !!! FIXME : Optimize the code for 16-bit samples? */
    2.87  
    2.88 -static void _Eff_position_u16lsb(int chan, void *stream, int len, void *udata)
    2.89 +static void SDLCALL _Eff_position_u16lsb(int chan, void *stream, int len, void *udata)
    2.90  {
    2.91      volatile position_args *args = (volatile position_args *) udata;
    2.92      Uint16 *ptr = (Uint16 *) stream;
    2.93 @@ -627,7 +627,7 @@
    2.94      }
    2.95      }
    2.96  }
    2.97 -static void _Eff_position_u16lsb_c4(int chan, void *stream, int len, void *udata)
    2.98 +static void SDLCALL _Eff_position_u16lsb_c4(int chan, void *stream, int len, void *udata)
    2.99  {
   2.100      volatile position_args *args = (volatile position_args *) udata;
   2.101      Uint16 *ptr = (Uint16 *) stream;
   2.102 @@ -676,7 +676,7 @@
   2.103      }
   2.104      }
   2.105  }
   2.106 -static void _Eff_position_u16lsb_c6(int chan, void *stream, int len, void *udata)
   2.107 +static void SDLCALL _Eff_position_u16lsb_c6(int chan, void *stream, int len, void *udata)
   2.108  {
   2.109      volatile position_args *args = (volatile position_args *) udata;
   2.110      Uint16 *ptr = (Uint16 *) stream;
   2.111 @@ -740,7 +740,7 @@
   2.112      }
   2.113  }
   2.114  
   2.115 -static void _Eff_position_s16lsb(int chan, void *stream, int len, void *udata)
   2.116 +static void SDLCALL _Eff_position_s16lsb(int chan, void *stream, int len, void *udata)
   2.117  {
   2.118      /* 16 signed bits (lsb) * 2 channels. */
   2.119      volatile position_args *args = (volatile position_args *) udata;
   2.120 @@ -769,7 +769,7 @@
   2.121      }
   2.122      }
   2.123  }
   2.124 -static void _Eff_position_s16lsb_c4(int chan, void *stream, int len, void *udata)
   2.125 +static void SDLCALL _Eff_position_s16lsb_c4(int chan, void *stream, int len, void *udata)
   2.126  {
   2.127      /* 16 signed bits (lsb) * 4 channels. */
   2.128      volatile position_args *args = (volatile position_args *) udata;
   2.129 @@ -814,7 +814,7 @@
   2.130      }
   2.131  }
   2.132  
   2.133 -static void _Eff_position_s16lsb_c6(int chan, void *stream, int len, void *udata)
   2.134 +static void SDLCALL _Eff_position_s16lsb_c6(int chan, void *stream, int len, void *udata)
   2.135  {
   2.136      /* 16 signed bits (lsb) * 6 channels. */
   2.137      volatile position_args *args = (volatile position_args *) udata;
   2.138 @@ -871,7 +871,7 @@
   2.139      }
   2.140  }
   2.141  
   2.142 -static void _Eff_position_u16msb(int chan, void *stream, int len, void *udata)
   2.143 +static void SDLCALL _Eff_position_u16msb(int chan, void *stream, int len, void *udata)
   2.144  {
   2.145      /* 16 signed bits (lsb) * 2 channels. */
   2.146      volatile position_args *args = (volatile position_args *) udata;
   2.147 @@ -897,7 +897,7 @@
   2.148      }
   2.149      }
   2.150  }
   2.151 -static void _Eff_position_u16msb_c4(int chan, void *stream, int len, void *udata)
   2.152 +static void SDLCALL _Eff_position_u16msb_c4(int chan, void *stream, int len, void *udata)
   2.153  {
   2.154      /* 16 signed bits (lsb) * 4 channels. */
   2.155      volatile position_args *args = (volatile position_args *) udata;
   2.156 @@ -947,7 +947,7 @@
   2.157      }
   2.158      }
   2.159  }
   2.160 -static void _Eff_position_u16msb_c6(int chan, void *stream, int len, void *udata)
   2.161 +static void SDLCALL _Eff_position_u16msb_c6(int chan, void *stream, int len, void *udata)
   2.162  {
   2.163      /* 16 signed bits (lsb) * 6 channels. */
   2.164      volatile position_args *args = (volatile position_args *) udata;
   2.165 @@ -1012,7 +1012,7 @@
   2.166      }
   2.167  }
   2.168  
   2.169 -static void _Eff_position_s16msb(int chan, void *stream, int len, void *udata)
   2.170 +static void SDLCALL _Eff_position_s16msb(int chan, void *stream, int len, void *udata)
   2.171  {
   2.172      /* 16 signed bits (lsb) * 2 channels. */
   2.173      volatile position_args *args = (volatile position_args *) udata;
   2.174 @@ -1028,7 +1028,7 @@
   2.175          *(ptr++) = (Sint16) SDL_SwapBE16(swapr);
   2.176      }
   2.177  }
   2.178 -static void _Eff_position_s16msb_c4(int chan, void *stream, int len, void *udata)
   2.179 +static void SDLCALL _Eff_position_s16msb_c4(int chan, void *stream, int len, void *udata)
   2.180  {
   2.181      /* 16 signed bits (lsb) * 4 channels. */
   2.182      volatile position_args *args = (volatile position_args *) udata;
   2.183 @@ -1072,7 +1072,7 @@
   2.184      }
   2.185      }
   2.186  }
   2.187 -static void _Eff_position_s16msb_c6(int chan, void *stream, int len, void *udata)
   2.188 +static void SDLCALL _Eff_position_s16msb_c6(int chan, void *stream, int len, void *udata)
   2.189  {
   2.190      /* 16 signed bits (lsb) * 6 channels. */
   2.191      volatile position_args *args = (volatile position_args *) udata;
   2.192 @@ -1130,7 +1130,7 @@
   2.193      }
   2.194  }
   2.195  
   2.196 -static void _Eff_position_s32lsb(int chan, void *stream, int len, void *udata)
   2.197 +static void SDLCALL _Eff_position_s32lsb(int chan, void *stream, int len, void *udata)
   2.198  {
   2.199      /* 32 signed bits (lsb) * 2 channels. */
   2.200      volatile position_args *args = (volatile position_args *) udata;
   2.201 @@ -1159,7 +1159,7 @@
   2.202      }
   2.203      }
   2.204  }
   2.205 -static void _Eff_position_s32lsb_c4(int chan, void *stream, int len, void *udata)
   2.206 +static void SDLCALL _Eff_position_s32lsb_c4(int chan, void *stream, int len, void *udata)
   2.207  {
   2.208      /* 32 signed bits (lsb) * 4 channels. */
   2.209      volatile position_args *args = (volatile position_args *) udata;
   2.210 @@ -1204,7 +1204,7 @@
   2.211      }
   2.212  }
   2.213  
   2.214 -static void _Eff_position_s32lsb_c6(int chan, void *stream, int len, void *udata)
   2.215 +static void SDLCALL _Eff_position_s32lsb_c6(int chan, void *stream, int len, void *udata)
   2.216  {
   2.217      /* 32 signed bits (lsb) * 6 channels. */
   2.218      volatile position_args *args = (volatile position_args *) udata;
   2.219 @@ -1261,7 +1261,7 @@
   2.220      }
   2.221  }
   2.222  
   2.223 -static void _Eff_position_s32msb(int chan, void *stream, int len, void *udata)
   2.224 +static void SDLCALL _Eff_position_s32msb(int chan, void *stream, int len, void *udata)
   2.225  {
   2.226      /* 32 signed bits (lsb) * 2 channels. */
   2.227      volatile position_args *args = (volatile position_args *) udata;
   2.228 @@ -1277,7 +1277,7 @@
   2.229          *(ptr++) = (Sint32) SDL_SwapBE32(swapr);
   2.230      }
   2.231  }
   2.232 -static void _Eff_position_s32msb_c4(int chan, void *stream, int len, void *udata)
   2.233 +static void SDLCALL _Eff_position_s32msb_c4(int chan, void *stream, int len, void *udata)
   2.234  {
   2.235      /* 32 signed bits (lsb) * 4 channels. */
   2.236      volatile position_args *args = (volatile position_args *) udata;
   2.237 @@ -1321,7 +1321,7 @@
   2.238      }
   2.239      }
   2.240  }
   2.241 -static void _Eff_position_s32msb_c6(int chan, void *stream, int len, void *udata)
   2.242 +static void SDLCALL _Eff_position_s32msb_c6(int chan, void *stream, int len, void *udata)
   2.243  {
   2.244      /* 32 signed bits (lsb) * 6 channels. */
   2.245      volatile position_args *args = (volatile position_args *) udata;
   2.246 @@ -1379,7 +1379,7 @@
   2.247      }
   2.248  }
   2.249  
   2.250 -static void _Eff_position_f32sys(int chan, void *stream, int len, void *udata)
   2.251 +static void SDLCALL _Eff_position_f32sys(int chan, void *stream, int len, void *udata)
   2.252  {
   2.253      /* float * 2 channels. */
   2.254      volatile position_args *args = (volatile position_args *) udata;
   2.255 @@ -1393,7 +1393,7 @@
   2.256          *(ptr++) = swapr;
   2.257      }
   2.258  }
   2.259 -static void _Eff_position_f32sys_c4(int chan, void *stream, int len, void *udata)
   2.260 +static void SDLCALL _Eff_position_f32sys_c4(int chan, void *stream, int len, void *udata)
   2.261  {
   2.262      /* float * 4 channels. */
   2.263      volatile position_args *args = (volatile position_args *) udata;
   2.264 @@ -1433,7 +1433,7 @@
   2.265          }
   2.266      }
   2.267  }
   2.268 -static void _Eff_position_f32sys_c6(int chan, void *stream, int len, void *udata)
   2.269 +static void SDLCALL _Eff_position_f32sys_c6(int chan, void *stream, int len, void *udata)
   2.270  {
   2.271      /* float * 6 channels. */
   2.272      volatile position_args *args = (volatile position_args *) udata;
     3.1 --- a/effect_stereoreverse.c	Sat Oct 21 04:03:49 2017 -0700
     3.2 +++ b/effect_stereoreverse.c	Sat Oct 21 17:00:00 2017 +0300
     3.3 @@ -55,7 +55,7 @@
     3.4   * Stereo reversal effect...this one's pretty straightforward...
     3.5   */
     3.6  
     3.7 -static void _Eff_reversestereo32(int chan, void *stream, int len, void *udata)
     3.8 +static void SDLCALL _Eff_reversestereo32(int chan, void *stream, int len, void *udata)
     3.9  {
    3.10      /* 16 bits * 2 channels. */
    3.11      Uint32 *ptr = (Uint32 *) stream;
    3.12 @@ -70,7 +70,7 @@
    3.13  }
    3.14  
    3.15  
    3.16 -static void _Eff_reversestereo16(int chan, void *stream, int len, void *udata)
    3.17 +static void SDLCALL _Eff_reversestereo16(int chan, void *stream, int len, void *udata)
    3.18  {
    3.19      /* 16 bits * 2 channels. */
    3.20      Uint32 *ptr = (Uint32 *) stream;
    3.21 @@ -82,7 +82,7 @@
    3.22  }
    3.23  
    3.24  
    3.25 -static void _Eff_reversestereo8(int chan, void *stream, int len, void *udata)
    3.26 +static void SDLCALL _Eff_reversestereo8(int chan, void *stream, int len, void *udata)
    3.27  {
    3.28      /* 8 bits * 2 channels. */
    3.29      Uint32 *ptr = (Uint32 *) stream;
     4.1 --- a/mixer.c	Sat Oct 21 04:03:49 2017 -0700
     4.2 +++ b/mixer.c	Sat Oct 21 17:00:00 2017 +0300
     4.3 @@ -79,14 +79,14 @@
     4.4  
     4.5  
     4.6  /* Support for hooking into the mixer callback system */
     4.7 -static void (*mix_postmix)(void *udata, Uint8 *stream, int len) = NULL;
     4.8 +static void (SDLCALL *mix_postmix)(void *udata, Uint8 *stream, int len) = NULL;
     4.9  static void *mix_postmix_data = NULL;
    4.10  
    4.11  /* rcg07062001 callback to alert when channels are done playing. */
    4.12 -static void (*channel_done_callback)(int channel) = NULL;
    4.13 +static void (SDLCALL *channel_done_callback)(int channel) = NULL;
    4.14  
    4.15  /* Support for user defined music functions */
    4.16 -static void (*mix_music)(void *udata, Uint8 *stream, int len) = music_mixer;
    4.17 +static void (SDLCALL *mix_music)(void *udata, Uint8 *stream, int len) = music_mixer;
    4.18  static void *music_data = NULL;
    4.19  
    4.20  /* rcg06042009 report available decoders at runtime. */
    4.21 @@ -857,7 +857,7 @@
    4.22     This can be used to provide real-time visual display of the audio stream
    4.23     or add a custom mixer filter for the stream data.
    4.24  */
    4.25 -void Mix_SetPostMix(void (*mix_func)
    4.26 +void Mix_SetPostMix(void (SDLCALL *mix_func)
    4.27                      (void *udata, Uint8 *stream, int len), void *arg)
    4.28  {
    4.29      Mix_LockAudio();
    4.30 @@ -869,7 +869,7 @@
    4.31  /* Add your own music player or mixer function.
    4.32     If 'mix_func' is NULL, the default music player is re-enabled.
    4.33   */
    4.34 -void Mix_HookMusic(void (*mix_func)(void *udata, Uint8 *stream, int len),
    4.35 +void Mix_HookMusic(void (SDLCALL *mix_func)(void *udata, Uint8 *stream, int len),
    4.36                                                                  void *arg)
    4.37  {
    4.38      Mix_LockAudio();
    4.39 @@ -888,7 +888,7 @@
    4.40      return(music_data);
    4.41  }
    4.42  
    4.43 -void Mix_ChannelFinished(void (*channel_finished)(int channel))
    4.44 +void Mix_ChannelFinished(void (SDLCALL *channel_finished)(int channel))
    4.45  {
    4.46      Mix_LockAudio();
    4.47      channel_done_callback = channel_finished;
     5.1 --- a/music.c	Sat Oct 21 04:03:49 2017 -0700
     5.2 +++ b/music.c	Sat Oct 21 17:00:00 2017 +0300
     5.3 @@ -153,9 +153,9 @@
     5.4  
     5.5  
     5.6  /* Support for hooking when the music has finished */
     5.7 -static void (*music_finished_hook)(void) = NULL;
     5.8 +static void (SDLCALL *music_finished_hook)(void) = NULL;
     5.9  
    5.10 -void Mix_HookMusicFinished(void (*music_finished)(void))
    5.11 +void Mix_HookMusicFinished(void (SDLCALL *music_finished)(void))
    5.12  {
    5.13      Mix_LockAudio();
    5.14      music_finished_hook = music_finished;
    5.15 @@ -199,7 +199,7 @@
    5.16  }
    5.17  
    5.18  /* Mixing function */
    5.19 -void music_mixer(void *udata, Uint8 *stream, int len)
    5.20 +void SDLCALL music_mixer(void *udata, Uint8 *stream, int len)
    5.21  {
    5.22      while (music_playing && music_active && len > 0) {
    5.23          /* Handle fading */
    5.24 @@ -1023,7 +1023,7 @@
    5.25      return NULL;
    5.26  }
    5.27  
    5.28 -int Mix_EachSoundFont(int (*function)(const char*, void*), void *data)
    5.29 +int Mix_EachSoundFont(int (SDLCALL *function)(const char*, void*), void *data)
    5.30  {
    5.31      char *context, *path, *paths;
    5.32      const char* cpaths = Mix_GetSoundFonts();
     6.1 --- a/music.h	Sat Oct 21 04:03:49 2017 -0700
     6.2 +++ b/music.h	Sat Oct 21 17:00:00 2017 +0300
     6.3 @@ -111,7 +111,7 @@
     6.4  extern int open_music(const SDL_AudioSpec *spec);
     6.5  extern int music_pcm_getaudio(void *context, void *data, int bytes, int volume,
     6.6                                int (*GetSome)(void *context, void *data, int bytes, SDL_bool *done));
     6.7 -extern void music_mixer(void *udata, Uint8 *stream, int len);
     6.8 +extern void SDLCALL music_mixer(void *udata, Uint8 *stream, int len);
     6.9  extern void close_music(void);
    6.10  extern void unload_music(void);
    6.11  
     7.1 --- a/music_fluidsynth.c	Sat Oct 21 04:03:49 2017 -0700
     7.2 +++ b/music_fluidsynth.c	Sat Oct 21 17:00:00 2017 +0300
     7.3 @@ -124,7 +124,7 @@
     7.4  } FLUIDSYNTH_Music;
     7.5  
     7.6  
     7.7 -static int fluidsynth_check_soundfont(const char *path, void *data)
     7.8 +static int SDLCALL fluidsynth_check_soundfont(const char *path, void *data)
     7.9  {
    7.10      FILE *file = fopen(path, "r");
    7.11  
    7.12 @@ -137,7 +137,7 @@
    7.13      }
    7.14  }
    7.15  
    7.16 -static int fluidsynth_load_soundfont(const char *path, void *data)
    7.17 +static int SDLCALL fluidsynth_load_soundfont(const char *path, void *data)
    7.18  {
    7.19      /* If this fails, it's too late to try Timidity so pray that at least one works. */
    7.20      fluidsynth.fluid_synth_sfload((fluid_synth_t*) data, path, 1);
     8.1 --- a/playwave.c	Sat Oct 21 04:03:49 2017 -0700
     8.2 +++ b/playwave.c	Sat Oct 21 17:00:00 2017 +0300
     8.3 @@ -133,7 +133,7 @@
     8.4  
     8.5  #ifdef TEST_MIX_CHANNELFINISHED  /* rcg06072001 */
     8.6  static volatile int channel_is_done = 0;
     8.7 -static void channel_complete_callback(int chan)
     8.8 +static void SDLCALL channel_complete_callback (int chan)
     8.9  {
    8.10      Mix_Chunk *done_chunk = Mix_GetChunk(chan);
    8.11      SDL_Log("We were just alerted that Mixer channel #%d is done.\n", chan);