Josh:

fixed, thanks!

Thanks.  However, I think there is a better patch to fix these problems.

I reworked this patch not long ago to do better testing for what inline
to use in configure, and also a better way to calculate the size of
the #defines in replaygain_analysis.c.  This was submitted to the
SourceForge bug tracker as bug 1701960.  See here, and note attached
patch.

http://sourceforge.net/tracker/index.php?func=detail&group_id=13478&atid=313478&aid=1701960

I'd recommend backing out my previous patch and applying the above
one instead.

I'm cc:ing the Flac-dev mail list again, just so this is tracked.

Brian

--- Brian Cameron <[EMAIL PROTECTED]> wrote:

The attached patch is needed to make flac build on Solaris. Can some/all of these changes go upstream?

Brian
--- flac-1.1.3/src/plugin_common/tags.c.orig    2006-11-30
15:58:34.067469000 +0000
+++ flac-1.1.3/src/plugin_common/tags.c 2006-11-30 16:00:10.958487000
+0000
@@ -29,7 +29,7 @@
 #include "FLAC/metadata.h"
-static __inline unsigned local__wide_strlen(const FLAC__uint16 *s)
+static inline unsigned local__wide_strlen(const FLAC__uint16 *s)
 {
        unsigned n = 0;
        while(*s++)
@@ -43,7 +43,7 @@
  * and a more clear explanation at the end of this section:
  *   http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
  */
-static __inline unsigned local__utf8len(const FLAC__byte *utf8)
+static inline unsigned local__utf8len(const FLAC__byte *utf8)
 {
        FLAC__ASSERT(0 != utf8);
        if ((utf8[0] & 0x80) == 0) {
@@ -85,7 +85,7 @@
 }
-static __inline unsigned local__utf8_to_ucs2(const FLAC__byte *utf8,
FLAC__uint16 *ucs2)
+static inline unsigned local__utf8_to_ucs2(const FLAC__byte *utf8,
FLAC__uint16 *ucs2)
 {
        const unsigned len = local__utf8len(utf8);
@@ -140,7 +140,7 @@
        return out;
 }
-static __inline unsigned local__ucs2len(FLAC__uint16 ucs2)
+static inline unsigned local__ucs2len(FLAC__uint16 ucs2)
 {
        if (ucs2 < 0x0080)
                return 1;
@@ -150,7 +150,7 @@
                return 3;
 }
-static __inline unsigned local__ucs2_to_utf8(FLAC__uint16 ucs2,
FLAC__byte *utf8)
+static inline unsigned local__ucs2_to_utf8(FLAC__uint16 ucs2,
FLAC__byte *utf8)
 {
        if (ucs2 < 0x080) {
                utf8[0] = (FLAC__byte)ucs2;
+++ flac-1.1.3/src/share/replaygain_analysis/replaygain_analysis.c
2006-11-30 16:05:05.804777000 +0000
@@ -122,7 +122,14 @@
  * sampleWindow calculation in ResetSampleFrequency(), and was
causing
  * buffer overflows for 48kHz analysis, hence the +1.
  */
+#ifndef __sun
 #define MAX_SAMPLES_PER_WINDOW  (size_t) (MAX_SAMP_FREQ *
RMS_WINDOW_TIME + 1.)   /* max. Samples per Time slice */
+#else
+ /* Different #define for Solaris Forte compiler because it
+    doesn't like to multiply floats when declaring a variable. */
+#define MAX_SAMPLES_PER_WINDOW  (size_t) (2401)
+#define UINT32_T_FORTE 12000.0 /* Used in Unit32_t code below. */
+#endif
#define PINK_REF 64.82 /* 298640883795 */ /* calibration value */ static Float_t linprebuf [MAX_ORDER * 2];
@@ -142,8 +149,13 @@
 static double           lsum;
 static double           rsum;
 static int              freqindex;
+#ifndef __sun
 static Uint32_t  A [(size_t)(STEPS_per_dB * MAX_dB)];
 static Uint32_t  B [(size_t)(STEPS_per_dB * MAX_dB)];
+#else
+static Uint32_t  A [(size_t)(UINT32_T_FORTE)];
+static Uint32_t  B [(size_t)(UINT32_T_FORTE)];
+#endif
/* for each filter:
    [0] 48 kHz, [1] 44.1 kHz, [2] 32 kHz, [3] 24 kHz, [4] 22050 Hz,
[5] 16 kHz, [6] 12 kHz, [7] is 11025 Hz, [8] 8 kHz */
--- flac-1.1.3/src/libFLAC/format.c.orig        2006-12-02
19:57:22.519801600 +0000
+++ flac-1.1.3/src/libFLAC/format.c     2006-12-02 19:57:40.139113400
+0000
@@ -294,7 +294,7 @@
  * and a more clear explanation at the end of this section:
  *   http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
  */
-static __inline unsigned utf8len_(const FLAC__byte *utf8)
+static inline unsigned utf8len_(const FLAC__byte *utf8)
 {
        FLAC__ASSERT(0 != utf8);
        if ((utf8[0] & 0x80) == 0) {
_______________________________________________
Flac-dev mailing list
[email protected]
http://lists.xiph.org/mailman/listinfo/flac-dev




      
____________________________________________________________________________________
Shape Yahoo! in your own image. Join our Network Research Panel today! http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7


_______________________________________________
Flac-dev mailing list
[email protected]
http://lists.xiph.org/mailman/listinfo/flac-dev

Reply via email to