aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/adlmidi.cpp6
-rw-r--r--src/adlmidi_private.hpp11
2 files changed, 12 insertions, 5 deletions
diff --git a/src/adlmidi.cpp b/src/adlmidi.cpp
index 3b124eb..2e75bbe 100644
--- a/src/adlmidi.cpp
+++ b/src/adlmidi.cpp
@@ -572,10 +572,10 @@ ADLMIDI_EXPORT int adl_play(ADL_MIDIPlayer *device, int sampleCount, short *out)
left -= (int)ate;
gotten_len += ate;
- if(ate < setup.backup_samples_size)
+ if((ate < setup.backup_samples_size) && (ate != 0))
{
- for(ssize_t j = 0; j < ate; j++)
- setup.backup_samples[(ate - 1) - j] = setup.backup_samples[(setup.backup_samples_size - 1) - j];
+ for(ssize_t i = 0, j = ate; j < setup.backup_samples_size; i++, j++)
+ setup.backup_samples[i] = setup.backup_samples[j];
}
setup.backup_samples_size -= ate;
diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp
index 8058824..6ab9437 100644
--- a/src/adlmidi_private.hpp
+++ b/src/adlmidi_private.hpp
@@ -40,8 +40,12 @@
#endif
#ifdef _WIN32
+#define NOMINMAX
+#endif
+
+#if defined(_WIN32) && !defined(__WATCOMC__)
# undef NO_OLDNAMES
-# include <stdint.h>
+# include <stdint.h>
# ifdef _MSC_VER
# ifdef _WIN64
typedef __int64 ssize_t;
@@ -91,6 +95,9 @@ typedef int32_t ssize_t;
#include <vector> // vector
#include <deque> // deque
#include <cmath> // exp, log, ceil
+#if defined(__WATCOMC__)
+#include <math.h> // round, sqrt
+#endif
#include <stdio.h>
#include <stdlib.h>
#include <limits> // numeric_limit
@@ -328,7 +335,7 @@ public:
void openFile(const char *path)
{
- #ifndef _WIN32
+ #if !defined(_WIN32) || defined(__WATCOMC__)
fp = std::fopen(path, "rb");
#else
wchar_t widePath[MAX_PATH];