On 11/10/2011 18:39, Erik de Castro Lopo wrote:
> 
> I'm subscribed to the list (and I set my reply-to to the list).
> Please do not CC me.
> 
> JonY wrote:
> 
>> Its probably on one of the sf tracker somewhere, I can't seem to find it
>> anymore. It wasn't anything complicated, so I should be able to redo it
>> quickly.
> 
> I'm a Linux guy. I do not have easy access to a windows machine
> and don't have the time or patience to maintain one.
> 
> For windows stuff I'll be relying on others to provide and test
> patches.
> 
> Erik

Alright, here's a quick fix, although it is more ugly than I remembered.

Basically, it removes those _MSC_VER ifdefs, and relies on inttypes.h
where available, and falls back to I64 on MSVC and then ll for others,
all format warnings suppressed.

Tested on MinGW.

Sven-Hendrik, or any other mingw guys around, do you mind testing the
patch too? Patch based on git master from
https://git.xiph.org/mirrors/flac.git.

diff --git a/src/flac/analyze.c b/src/flac/analyze.c
index 1073758..d4a4441 100644
--- a/src/flac/analyze.c
+++ b/src/flac/analyze.c
@@ -28,6 +28,20 @@
 #include "FLAC/all.h"
 #include "analyze.h"
 
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#define flactypei64 PRId64
+#define flactypeu64 PRIu64
+#else
+#ifdef _MSC_VER
+#define flactypei64 "I64d"
+#define flactypeu64 "I64u"
+#else
+#define flactypei64 "lld"
+#define flactypeu64 "llu"
+#endif
+#endif
+
 typedef struct {
        FLAC__int32 residual;
        unsigned count;
@@ -66,11 +80,7 @@ void flac__analyze_frame(const FLAC__Frame *frame, unsigned 
frame_number, FLAC__
        unsigned i, channel, partitions;
 
        /* do the human-readable part first */
-#ifdef _MSC_VER
-       fprintf(fout, 
"frame=%u\toffset=%I64u\tbits=%u\tblocksize=%u\tsample_rate=%u\tchannels=%u\tchannel_assignment=%s\n",
 frame_number, frame_offset, frame_bytes*8, frame->header.blocksize, 
frame->header.sample_rate, channels, 
FLAC__ChannelAssignmentString[frame->header.channel_assignment]);
-#else
-       fprintf(fout, 
"frame=%u\toffset=%llu\tbits=%u\tblocksize=%u\tsample_rate=%u\tchannels=%u\tchannel_assignment=%s\n",
 frame_number, (unsigned long long)frame_offset, frame_bytes*8, 
frame->header.blocksize, frame->header.sample_rate, channels, 
FLAC__ChannelAssignmentString[frame->header.channel_assignment]);
-#endif
+       fprintf(fout, 
"frame=%u\toffset=%"flactypei64"\tbits=%u\tblocksize=%u\tsample_rate=%u\tchannels=%u\tchannel_assignment=%s\n",
 frame_number, (unsigned long long)frame_offset, frame_bytes*8, 
frame->header.blocksize, frame->header.sample_rate, channels, 
FLAC__ChannelAssignmentString[frame->header.channel_assignment]);
        for(channel = 0; channel < channels; channel++) {
                const FLAC__Subframe *subframe = frame->subframes+channel;
                const FLAC__bool is_rice2 = 
subframe->data.fixed.entropy_coding_method.type == 
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2;
diff --git a/src/metaflac/operations.c b/src/metaflac/operations.c
index 639a1da..e43e073 100644
--- a/src/metaflac/operations.c
+++ b/src/metaflac/operations.c
@@ -32,6 +32,20 @@
 #include <string.h>
 #include "operations_shorthand.h"
 
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#define flactypei64 PRId64
+#define flactypeu64 PRIu64
+#else
+#ifdef _MSC_VER
+#define flactypei64 "I64d"
+#define flactypeu64 "I64u"
+#else
+#define flactypei64 "lld"
+#define flactypeu64 "llu"
+#endif
+#endif
+
 static void show_version(void);
 static FLAC__bool do_major_operation(const CommandLineOptions *options);
 static FLAC__bool do_major_operation_on_file(const char *filename, const 
CommandLineOptions *options);
@@ -565,11 +579,7 @@ void write_metadata(const char *filename, 
FLAC__StreamMetadata *block, unsigned
                        PPR; printf("  sample_rate: %u Hz\n", 
block->data.stream_info.sample_rate);
                        PPR; printf("  channels: %u\n", 
block->data.stream_info.channels);
                        PPR; printf("  bits-per-sample: %u\n", 
block->data.stream_info.bits_per_sample);
-#ifdef _MSC_VER
-                       PPR; printf("  total samples: %I64u\n", 
block->data.stream_info.total_samples);
-#else
-                       PPR; printf("  total samples: %llu\n", (unsigned long 
long)block->data.stream_info.total_samples);
-#endif
+                       PPR; printf("  total samples: %"flactypeu64"\n", 
(unsigned long long)block->data.stream_info.total_samples);
                        PPR; printf("  MD5 signature: ");
                        for(i = 0; i < 16; i++) {
                                printf("%02x", 
(unsigned)block->data.stream_info.md5sum[i]);
@@ -596,11 +606,7 @@ void write_metadata(const char *filename, 
FLAC__StreamMetadata *block, unsigned
                        PPR; printf("  seek points: %u\n", 
block->data.seek_table.num_points);
                        for(i = 0; i < block->data.seek_table.num_points; i++) {
                                
if(block->data.seek_table.points[i].sample_number != 
FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER) {
-#ifdef _MSC_VER
-                                       PPR; printf("    point %u: 
sample_number=%I64u, stream_offset=%I64u, frame_samples=%u\n", i, 
block->data.seek_table.points[i].sample_number, 
block->data.seek_table.points[i].stream_offset, 
block->data.seek_table.points[i].frame_samples);
-#else
-                                       PPR; printf("    point %u: 
sample_number=%llu, stream_offset=%llu, frame_samples=%u\n", i, (unsigned long 
long)block->data.seek_table.points[i].sample_number, (unsigned long 
long)block->data.seek_table.points[i].stream_offset, 
block->data.seek_table.points[i].frame_samples);
-#endif
+                                       PPR; printf("    point %u: 
sample_number=%"flactypeu64", stream_offset=%"flactypeu64", 
frame_samples=%u\n", i, (unsigned long 
long)block->data.seek_table.points[i].sample_number, (unsigned long 
long)block->data.seek_table.points[i].stream_offset, 
block->data.seek_table.points[i].frame_samples);
                                }
                                else {
                                        PPR; printf("    point %u: 
PLACEHOLDER\n", i);
@@ -618,11 +624,7 @@ void write_metadata(const char *filename, 
FLAC__StreamMetadata *block, unsigned
                        break;
                case FLAC__METADATA_TYPE_CUESHEET:
                        PPR; printf("  media catalog number: %s\n", 
block->data.cue_sheet.media_catalog_number);
-#ifdef _MSC_VER
-                       PPR; printf("  lead-in: %I64u\n", 
block->data.cue_sheet.lead_in);
-#else
-                       PPR; printf("  lead-in: %llu\n", (unsigned long 
long)block->data.cue_sheet.lead_in);
-#endif
+                       PPR; printf("  lead-in: %"flactypeu64"\n", (unsigned 
long long)block->data.cue_sheet.lead_in);
                        PPR; printf("  is CD: %s\n", 
block->data.cue_sheet.is_cd? "true":"false");
                        PPR; printf("  number of tracks: %u\n", 
block->data.cue_sheet.num_tracks);
                        for(i = 0; i < block->data.cue_sheet.num_tracks; i++) {
@@ -630,11 +632,7 @@ void write_metadata(const char *filename, 
FLAC__StreamMetadata *block, unsigned
                                const FLAC__bool is_last = (i == 
block->data.cue_sheet.num_tracks-1);
                                const FLAC__bool is_leadout = is_last && 
track->num_indices == 0;
                                PPR; printf("    track[%u]\n", i);
-#ifdef _MSC_VER
-                               PPR; printf("      offset: %I64u\n", 
track->offset);
-#else
-                               PPR; printf("      offset: %llu\n", (unsigned 
long long)track->offset);
-#endif
+                               PPR; printf("      offset: %"flactypeu64"\n", 
(unsigned long long)track->offset);
                                if(is_last) {
                                        PPR; printf("      number: %u (%s)\n", 
(unsigned)track->number, is_leadout? "LEAD-OUT" : "INVALID");
                                }
@@ -649,11 +647,7 @@ void write_metadata(const char *filename, 
FLAC__StreamMetadata *block, unsigned
                                        for(j = 0; j < track->num_indices; j++) 
{
                                                const 
FLAC__StreamMetadata_CueSheet_Index *index = track->indices+j;
                                                PPR; printf("        
index[%u]\n", j);
-#ifdef _MSC_VER
-                                               PPR; printf("          offset: 
%I64u\n", index->offset);
-#else
-                                               PPR; printf("          offset: 
%llu\n", (unsigned long long)index->offset);
-#endif
+                                               PPR; printf("          offset: 
%"flactypeu64"\n", (unsigned long long)index->offset);
                                                PPR; printf("          number: 
%u\n", (unsigned)index->number);
                                        }
                                }
diff --git a/src/share/grabbag/cuesheet.c b/src/share/grabbag/cuesheet.c
index 682ee3d..8dbb618 100644
--- a/src/share/grabbag/cuesheet.c
+++ b/src/share/grabbag/cuesheet.c
@@ -26,6 +26,20 @@
 #include <stdlib.h>
 #include <string.h>
 
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#define flactypei64 PRId64
+#define flactypeu64 PRIu64
+#else
+#ifdef _MSC_VER
+#define flactypei64 "I64d"
+#define flactypeu64 "I64u"
+#else
+#define flactypei64 "lld"
+#define flactypeu64 "llu"
+#endif
+#endif
+
 unsigned grabbag__cuesheet_msf_to_frame(unsigned minutes, unsigned seconds, 
unsigned frames)
 {
        return ((minutes * 60) + seconds) * 75 + frames;
@@ -649,19 +663,10 @@ void grabbag__cuesheet_emit(FILE *file, const 
FLAC__StreamMetadata *cuesheet, co
                                fprintf(file, "%02u:%02u:%02u\n", m, s, f);
                        }
                        else
-#ifdef _MSC_VER
-                               fprintf(file, "%I64u\n", track->offset + 
index->offset);
-#else
-                               fprintf(file, "%llu\n", (unsigned long 
long)(track->offset + index->offset));
-#endif
+                               fprintf(file, "%"flactypeu64"\n", (unsigned 
long long)(track->offset + index->offset));
                }
        }
 
-#ifdef _MSC_VER
-       fprintf(file, "REM FLAC__lead-in %I64u\n", cs->lead_in);
-       fprintf(file, "REM FLAC__lead-out %u %I64u\n", 
(unsigned)cs->tracks[track_num].number, cs->tracks[track_num].offset);
-#else
-       fprintf(file, "REM FLAC__lead-in %llu\n", (unsigned long 
long)cs->lead_in);
-       fprintf(file, "REM FLAC__lead-out %u %llu\n", 
(unsigned)cs->tracks[track_num].number, (unsigned long 
long)cs->tracks[track_num].offset);
-#endif
+       fprintf(file, "REM FLAC__lead-in %"flactypeu64"\n", (unsigned long 
long)cs->lead_in);
+       fprintf(file, "REM FLAC__lead-out %u %"flactypeu64"\n", 
(unsigned)cs->tracks[track_num].number, (unsigned long 
long)cs->tracks[track_num].offset);
 }
diff --git a/src/test_libFLAC/encoders.c b/src/test_libFLAC/encoders.c
index 1f40c62..6574b29 100644
--- a/src/test_libFLAC/encoders.c
+++ b/src/test_libFLAC/encoders.c
@@ -31,6 +31,20 @@
 #include "test_libs_common/file_utils_flac.h"
 #include "test_libs_common/metadata_utils.h"
 
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#define flactypei64 PRId64
+#define flactypeu64 PRIu64
+#else
+#ifdef _MSC_VER
+#define flactypei64 "I64d"
+#define flactypeu64 "I64u"
+#else
+#define flactypei64 "lld"
+#define flactypeu64 "llu"
+#endif
+#endif
+
 typedef enum {
        LAYER_STREAM = 0, /* FLAC__stream_encoder_init_[ogg_]stream() without 
seeking */
        LAYER_SEEKABLE_STREAM, /* FLAC__stream_encoder_init_[ogg_]stream() with 
seeking */
@@ -449,11 +463,7 @@ static FLAC__bool test_stream_encoder(Layer layer, 
FLAC__bool is_ogg)
 
        printf("testing FLAC__stream_encoder_get_total_samples_estimate()... ");
        if(FLAC__stream_encoder_get_total_samples_estimate(encoder) != 
streaminfo_.data.stream_info.total_samples) {
-#ifdef _MSC_VER
-               printf("FAILED, expected %I64u, got %I64u\n", 
streaminfo_.data.stream_info.total_samples, 
FLAC__stream_encoder_get_total_samples_estimate(encoder));
-#else
-               printf("FAILED, expected %llu, got %llu\n", (unsigned long 
long)streaminfo_.data.stream_info.total_samples, (unsigned long 
long)FLAC__stream_encoder_get_total_samples_estimate(encoder));
-#endif
+               printf("FAILED, expected %"flactypeu64", got %"flactypeu64"\n", 
(unsigned long long)streaminfo_.data.stream_info.total_samples, (unsigned long 
long)FLAC__stream_encoder_get_total_samples_estimate(encoder));
                return false;
        }
        printf("OK\n");
diff --git a/src/test_libFLAC/metadata_object.c 
b/src/test_libFLAC/metadata_object.c
index c9a8479..52452bf 100644
--- a/src/test_libFLAC/metadata_object.c
+++ b/src/test_libFLAC/metadata_object.c
@@ -28,6 +28,20 @@
 #include <stdlib.h> /* for malloc() */
 #include <string.h> /* for memcmp() */
 
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#define flactypei64 PRId64
+#define flactypeu64 PRIu64
+#else
+#ifdef _MSC_VER
+#define flactypei64 "I64d"
+#define flactypeu64 "I64u"
+#else
+#define flactypei64 "lld"
+#define flactypeu64 "llu"
+#endif
+#endif
+
 static FLAC__byte *make_dummydata_(FLAC__byte *dummydata, unsigned len)
 {
        FLAC__byte *ret;
@@ -47,11 +61,7 @@ static FLAC__bool compare_track_(const 
FLAC__StreamMetadata_CueSheet_Track *from
        unsigned i;
 
        if(from->offset != to->offset) {
-#ifdef _MSC_VER
-               printf("FAILED, track offset mismatch, expected %I64u, got 
%I64u\n", to->offset, from->offset);
-#else
-               printf("FAILED, track offset mismatch, expected %llu, got 
%llu\n", (unsigned long long)to->offset, (unsigned long long)from->offset);
-#endif
+               printf("FAILED, track offset mismatch, expected %"flactypeu64", 
got %"flactypeu64"\n", (unsigned long long)to->offset, (unsigned long 
long)from->offset);
                return false;
        }
        if(from->number != to->number) {
@@ -83,11 +93,7 @@ static FLAC__bool compare_track_(const 
FLAC__StreamMetadata_CueSheet_Track *from
        else {
                for(i = 0; i < to->num_indices; i++) {
                        if(from->indices[i].offset != to->indices[i].offset) {
-#ifdef _MSC_VER
-                               printf("FAILED, track indices[%u].offset 
mismatch, expected %I64u, got %I64u\n", i, to->indices[i].offset, 
from->indices[i].offset);
-#else
-                               printf("FAILED, track indices[%u].offset 
mismatch, expected %llu, got %llu\n", i, (unsigned long 
long)to->indices[i].offset, (unsigned long long)from->indices[i].offset);
-#endif
+                               printf("FAILED, track indices[%u].offset 
mismatch, expected %"flactypeu64", got %"flactypeu64"\n", i, (unsigned long 
long)to->indices[i].offset, (unsigned long long)from->indices[i].offset);
                                return false;
                        }
                        if(from->indices[i].number != to->indices[i].number) {
@@ -109,19 +115,11 @@ static FLAC__bool compare_seekpoint_array_(const 
FLAC__StreamMetadata_SeekPoint
 
        for(i = 0; i < n; i++) {
                if(from[i].sample_number != to[i].sample_number) {
-#ifdef _MSC_VER
-                       printf("FAILED, point[%u].sample_number mismatch, 
expected %I64u, got %I64u\n", i, to[i].sample_number, from[i].sample_number);
-#else
-                       printf("FAILED, point[%u].sample_number mismatch, 
expected %llu, got %llu\n", i, (unsigned long long)to[i].sample_number, 
(unsigned long long)from[i].sample_number);
-#endif
+                       printf("FAILED, point[%u].sample_number mismatch, 
expected %"flactypeu64", got %"flactypeu64"\n", i, (unsigned long 
long)to[i].sample_number, (unsigned long long)from[i].sample_number);
                        return false;
                }
                if(from[i].stream_offset != to[i].stream_offset) {
-#ifdef _MSC_VER
-                       printf("FAILED, point[%u].stream_offset mismatch, 
expected %I64u, got %I64u\n", i, to[i].stream_offset, from[i].stream_offset);
-#else
-                       printf("FAILED, point[%u].stream_offset mismatch, 
expected %llu, got %llu\n", i, (unsigned long long)to[i].stream_offset, 
(unsigned long long)from[i].stream_offset);
-#endif
+                       printf("FAILED, point[%u].stream_offset mismatch, 
expected %"flactypeu64", got %"flactypeu64"\n", i, (unsigned long 
long)to[i].stream_offset, (unsigned long long)from[i].stream_offset);
                        return false;
                }
                if(from[i].frame_samples != to[i].frame_samples) {
diff --git a/src/test_libs_common/metadata_utils.c 
b/src/test_libs_common/metadata_utils.c
index d940180..0adf1ad 100644
--- a/src/test_libs_common/metadata_utils.c
+++ b/src/test_libs_common/metadata_utils.c
@@ -30,6 +30,20 @@
 #include <stdlib.h> /* for malloc() */
 #include <string.h> /* for memcmp() */
 
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#define flactypei64 PRId64
+#define flactypeu64 PRIu64
+#else
+#ifdef _MSC_VER
+#define flactypei64 "I64d"
+#define flactypeu64 "I64u"
+#else
+#define flactypei64 "lld"
+#define flactypeu64 "llu"
+#endif
+#endif
+
 FLAC__bool mutils__compare_block_data_streaminfo(const 
FLAC__StreamMetadata_StreamInfo *block, const FLAC__StreamMetadata_StreamInfo 
*blockcopy)
 {
        if(blockcopy->min_blocksize != block->min_blocksize) {
@@ -61,11 +75,8 @@ FLAC__bool mutils__compare_block_data_streaminfo(const 
FLAC__StreamMetadata_Stre
                return false;
        }
        if(blockcopy->total_samples != block->total_samples) {
-#ifdef _MSC_VER
-               printf("FAILED, total_samples mismatch, expected %I64u, got 
%I64u\n", block->total_samples, blockcopy->total_samples);
-#else
-               printf("FAILED, total_samples mismatch, expected %llu, got 
%llu\n", (unsigned long long)block->total_samples, (unsigned long 
long)blockcopy->total_samples);
-#endif
+
+               printf("FAILED, total_samples mismatch, expected 
%"flactypeu64", got %"flactypeu64"\n", (unsigned long 
long)block->total_samples, (unsigned long long)blockcopy->total_samples);
                return false;
        }
        if(0 != memcmp(blockcopy->md5sum, block->md5sum, 
sizeof(block->md5sum))) {
@@ -166,19 +177,11 @@ FLAC__bool mutils__compare_block_data_seektable(const 
FLAC__StreamMetadata_SeekT
        }
        for(i = 0; i < block->num_points; i++) {
                if(blockcopy->points[i].sample_number != 
block->points[i].sample_number) {
-#ifdef _MSC_VER
-                       printf("FAILED, points[%u].sample_number mismatch, 
expected %I64u, got %I64u\n", i, block->points[i].sample_number, 
blockcopy->points[i].sample_number);
-#else
-                       printf("FAILED, points[%u].sample_number mismatch, 
expected %llu, got %llu\n", i, (unsigned long 
long)block->points[i].sample_number, (unsigned long 
long)blockcopy->points[i].sample_number);
-#endif
+                       printf("FAILED, points[%u].sample_number mismatch, 
expected %"flactypeu64", got %"flactypeu64"\n", i, (unsigned long 
long)block->points[i].sample_number, (unsigned long 
long)blockcopy->points[i].sample_number);
                        return false;
                }
                if(blockcopy->points[i].stream_offset != 
block->points[i].stream_offset) {
-#ifdef _MSC_VER
-                       printf("FAILED, points[%u].stream_offset mismatch, 
expected %I64u, got %I64u\n", i, block->points[i].stream_offset, 
blockcopy->points[i].stream_offset);
-#else
-                       printf("FAILED, points[%u].stream_offset mismatch, 
expected %llu, got %llu\n", i, (unsigned long 
long)block->points[i].stream_offset, (unsigned long 
long)blockcopy->points[i].stream_offset);
-#endif
+                       printf("FAILED, points[%u].stream_offset mismatch, 
expected %"flactypeu64", got %"flactypeu64"\n", i, (unsigned long 
long)block->points[i].stream_offset, (unsigned long 
long)blockcopy->points[i].stream_offset);
                        return false;
                }
                if(blockcopy->points[i].frame_samples != 
block->points[i].frame_samples) {
@@ -240,11 +243,7 @@ FLAC__bool mutils__compare_block_data_cuesheet(const 
FLAC__StreamMetadata_CueShe
                return false;
        }
        if(blockcopy->lead_in != block->lead_in) {
-#ifdef _MSC_VER
-               printf("FAILED, lead_in mismatch, expected %I64u, got %I64u\n", 
block->lead_in, blockcopy->lead_in);
-#else
-               printf("FAILED, lead_in mismatch, expected %llu, got %llu\n", 
(unsigned long long)block->lead_in, (unsigned long long)blockcopy->lead_in);
-#endif
+               printf("FAILED, lead_in mismatch, expected %"flactypeu64", got 
%"flactypeu64"\n", (unsigned long long)block->lead_in, (unsigned long 
long)blockcopy->lead_in);
                return false;
        }
        if(blockcopy->is_cd != block->is_cd) {
@@ -257,11 +256,7 @@ FLAC__bool mutils__compare_block_data_cuesheet(const 
FLAC__StreamMetadata_CueShe
        }
        for(i = 0; i < block->num_tracks; i++) {
                if(blockcopy->tracks[i].offset != block->tracks[i].offset) {
-#ifdef _MSC_VER
-                       printf("FAILED, tracks[%u].offset mismatch, expected 
%I64u, got %I64u\n", i, block->tracks[i].offset, blockcopy->tracks[i].offset);
-#else
-                       printf("FAILED, tracks[%u].offset mismatch, expected 
%llu, got %llu\n", i, (unsigned long long)block->tracks[i].offset, (unsigned 
long long)blockcopy->tracks[i].offset);
-#endif
+                       printf("FAILED, tracks[%u].offset mismatch, expected 
%"flactypeu64", got %"flactypeu64"\n", i, (unsigned long 
long)block->tracks[i].offset, (unsigned long long)blockcopy->tracks[i].offset);
                        return false;
                }
                if(blockcopy->tracks[i].number != block->tracks[i].number) {
@@ -295,11 +290,7 @@ FLAC__bool mutils__compare_block_data_cuesheet(const 
FLAC__StreamMetadata_CueShe
                        else {
                                for(j = 0; j < block->tracks[i].num_indices; 
j++) {
                                        
if(blockcopy->tracks[i].indices[j].offset != 
block->tracks[i].indices[j].offset) {
-#ifdef _MSC_VER
-                                               printf("FAILED, 
tracks[%u].indices[%u].offset mismatch, expected %I64u, got %I64u\n", i, j, 
block->tracks[i].indices[j].offset, blockcopy->tracks[i].indices[j].offset);
-#else
-                                               printf("FAILED, 
tracks[%u].indices[%u].offset mismatch, expected %llu, got %llu\n", i, j, 
(unsigned long long)block->tracks[i].indices[j].offset, (unsigned long 
long)blockcopy->tracks[i].indices[j].offset);
-#endif
+                                               printf("FAILED, 
tracks[%u].indices[%u].offset mismatch, expected %"flactypeu64", got 
%"flactypeu64"\n", i, j, (unsigned long 
long)block->tracks[i].indices[j].offset, (unsigned long 
long)blockcopy->tracks[i].indices[j].offset);
                                                return false;
                                        }
                                        
if(blockcopy->tracks[i].indices[j].number != 
block->tracks[i].indices[j].number) {
diff --git a/src/test_seeking/main.c b/src/test_seeking/main.c
index 00dce64..234fac4 100644
--- a/src/test_seeking/main.c
+++ b/src/test_seeking/main.c
@@ -34,6 +34,20 @@
 #include "FLAC/metadata.h"
 #include "FLAC/stream_decoder.h"
 
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#define flactypei64 PRId64
+#define flactypeu64 PRIu64
+#else
+#ifdef _MSC_VER
+#define flactypei64 "I64d"
+#define flactypeu64 "I64u"
+#else
+#define flactypei64 "lld"
+#define flactypeu64 "llu"
+#endif
+#endif
+
 typedef struct {
        FLAC__int32 **pcm;
        FLAC__bool got_data;
@@ -200,11 +214,7 @@ static FLAC__StreamDecoderWriteStatus 
write_callback_(const FLAC__StreamDecoder
 
        FLAC__ASSERT(frame->header.number_type == 
FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER); /* decoder guarantees this */
        if (!dcd->quiet)
-#ifdef _MSC_VER
-               printf("frame@%I64u(%u)... ", 
frame->header.number.sample_number, frame->header.blocksize);
-#else
-               printf("frame@%llu(%u)... ", (unsigned long 
long)frame->header.number.sample_number, frame->header.blocksize);
-#endif
+               printf("frame@%"flactypeu64"(%u)... ", (unsigned long 
long)frame->header.number.sample_number, frame->header.blocksize);
        fflush(stdout);
 
        /* check against PCM data if we have it */
@@ -309,11 +319,7 @@ static FLAC__bool seek_barrage(FLAC__bool is_ogg, const 
char *filename, off_t fi
                        return die_s_("expected 
FLAC__STREAM_DECODER_END_OF_STREAM", decoder);
        }
 
-#ifdef _MSC_VER
-       printf("file's total_samples is %I64u\n", 
decoder_client_data.total_samples);
-#else
-       printf("file's total_samples is %llu\n", (unsigned long 
long)decoder_client_data.total_samples);
-#endif
+       printf("file's total_samples is %"flactypeu64"\n", (unsigned long 
long)decoder_client_data.total_samples);
        n = (long int)decoder_client_data.total_samples;
 
        if(n == 0 && total_samples >= 0)
@@ -347,11 +353,7 @@ static FLAC__bool seek_barrage(FLAC__bool is_ogg, const 
char *filename, off_t fi
                        pos = (FLAC__uint64)(local_rand_() % n);
                }
 
-#ifdef _MSC_VER
-               printf("#%u:seek(%I64u)... ", i, pos);
-#else
-               printf("#%u:seek(%llu)... ", i, (unsigned long long)pos);
-#endif
+               printf("#%u:seek(%"flactypeu64")... ", i, (unsigned long 
long)pos);
                fflush(stdout);
                if(!FLAC__stream_decoder_seek_absolute(decoder, pos)) {
                        if(pos >= (FLAC__uint64)n)

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Flac-dev mailing list
Flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev

Reply via email to