patch: support for borland c++ compile (SF#1599018: http://sourceforge.net/tracker/index.php?func=detail&aid=1599018&group_id=13478&atid=313478)
diff --git a/src/libFLAC/format.c b/src/libFLAC/format.c
index 9d45620..af384ea 100644
--- a/src/libFLAC/format.c
+++ b/src/libFLAC/format.c
@@ -54,7 +54,7 @@
/* VERSION should come from configure */
FLAC_API const char *FLAC__VERSION_STRING = VERSION;
-#if defined _MSC_VER || defined __MINW32__
+#if defined _MSC_VER || defined __BORLANDC__ || defined __MINW32__
/* yet one more hack because of MSVC6: */
FLAC_API const char *FLAC__VENDOR_STRING = "reference libFLAC 1.1.3 20061120";
#else
diff --git a/src/libFLAC/lpc.c b/src/libFLAC/lpc.c
index 174c3e0..aa9b1c3 100644
--- a/src/libFLAC/lpc.c
+++ b/src/libFLAC/lpc.c
@@ -316,7 +316,7 @@
#endif
unsigned i, j;
FLAC__int32 sum;
- const FLAC__int32 *history;
+ const FLAC__int32 *r = residual, *history;
#ifdef FLAC__OVERFLOW_DETECT_VERBOSE
fprintf(stderr,"FLAC__lpc_restore_signal: data_len=%d, order=%u, lpq=%d",data_len,order,lp_quantization);
@@ -345,7 +345,7 @@
#endif
#endif
}
- *(data++) = *(residual++) + (sum >> lp_quantization);
+ *(data++) = *(r++) + (sum >> lp_quantization);
}
/* Here's a slower but clearer version:
@@ -362,7 +362,7 @@
{
unsigned i, j;
FLAC__int64 sum;
- const FLAC__int32 *history;
+ const FLAC__int32 *r = residual, *history;
#ifdef FLAC__OVERFLOW_DETECT_VERBOSE
fprintf(stderr,"FLAC__lpc_restore_signal_wide: data_len=%d, order=%u, lpq=%d",data_len,order,lp_quantization);
@@ -382,12 +382,12 @@
fprintf(stderr,"FLAC__lpc_restore_signal_wide: OVERFLOW, i=%u, sum=%lld\n", i, (long long)(sum >> lp_quantization));
break;
}
- if(FLAC__bitmath_silog2_wide((FLAC__int64)(*residual) + (sum >> lp_quantization)) > 32) {
- fprintf(stderr,"FLAC__lpc_restore_signal_wide: OVERFLOW, i=%u, residual=%d, sum=%lld, data=%lld\n", i, *residual, (long long)(sum >> lp_quantization), (long long)((FLAC__int64)(*residual) + (sum >> lp_quantization)));
+ if(FLAC__bitmath_silog2_wide((FLAC__int64)(*r) + (sum >> lp_quantization)) > 32) {
+ fprintf(stderr,"FLAC__lpc_restore_signal_wide: OVERFLOW, i=%u, residual=%d, sum=%lld, data=%lld\n", i, *r, (long long)(sum >> lp_quantization), (long long)((FLAC__int64)(*r) + (sum >> lp_quantization)));
break;
}
#endif
- *(data++) = *(residual++) + (FLAC__int32)(sum >> lp_quantization);
+ *(data++) = *(r++) + (FLAC__int32)(sum >> lp_quantization);
}
}
diff --git a/src/libFLAC/metadata_iterators.c b/src/libFLAC/metadata_iterators.c
index d5c4490..38f75bb 100644
--- a/src/libFLAC/metadata_iterators.c
+++ b/src/libFLAC/metadata_iterators.c
@@ -3195,7 +3195,7 @@
(void)fclose(*tempfile);
*tempfile = 0;
-#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__
+#if defined _MSC_VER || defined __BORLANDC__ || defined __MINGW32__ || defined __EMX__
/* on some flavors of windows, rename() will fail if the destination already exists */
if(unlink(filename) < 0) {
cleanup_tempfile_(tempfile, tempfilename);
@@ -3248,7 +3248,7 @@
srctime.modtime = stats->st_mtime;
(void)chmod(filename, stats->st_mode);
(void)utime(filename, &srctime);
-#if !defined _MSC_VER && !defined __MINGW32__ && !defined __EMX__
+#if !defined _MSC_VER && !defined __BORLANDC__ && !defined __MINGW32__ && !defined __EMX__
(void)chown(filename, stats->st_uid, -1);
(void)chown(filename, -1, stats->st_gid);
#endif