From ed7b0ada0ff9614f6aba9029c1d3fb3595777a27 Mon Sep 17 00:00:00 2001 From: bluebrother Date: Sat, 13 Mar 2010 22:25:21 +0000 Subject: [PATCH] Fix wavtrim not working correctly on PPC. Don't rely on the host being little endian -- PPC Macs are not, resulting in wavtrim not trimming files at all. Also fix a printf warning while at it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25158 a1c6a512-1295-4272-9138-f99709370657 --- tools/wavtrim.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tools/wavtrim.c b/tools/wavtrim.c index b82f270c8..8517b4677 100644 --- a/tools/wavtrim.c +++ b/tools/wavtrim.c @@ -167,7 +167,9 @@ int wavtrim(char * filename, int maxsilence ,char* errstring,int errsize) /* clip the start */ for (i=0; i max_silence) break; } @@ -178,7 +180,8 @@ int wavtrim(char * filename, int maxsilence ,char* errstring,int errsize) /* clip the end */ for (i=datalen-2; i>skip_head; i-=2) { - sample16 = *(short *)(databuf + i); + /* samples are little endian */ + sample16 = (*(databuf + i + 1) << 8) | *(databuf + i); if (abs(sample16) > max_silence) break; } @@ -231,7 +234,7 @@ int main (int argc, char** argv) ret = wavtrim(argv[1],max_silence,errbuffer,255 ); if( ret< 0) { - printf(errbuffer); + printf("%s", errbuffer); } return ret; } -- 2.11.4.GIT