summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorJeremy McNamara <jj@nufone.net>2004-01-11 08:32:50 +0000
committerJeremy McNamara <jj@nufone.net>2004-01-11 08:32:50 +0000
commit3ccb9c1c31f21c5ef85ecb566ccae5c1ecc99044 (patch)
tree0213eb10c5c1fb7b9cf986fb5dc32e62b44025a8 /apps
parent3135a5e01fde1406bfa1b0533b4b93b7c765a47f (diff)
fix festival for big endian. Bug #709
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rwxr-xr-xapps/app_festival.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/apps/app_festival.c b/apps/app_festival.c
index 0cbe48b57..cb7225d31 100755
--- a/apps/app_festival.c
+++ b/apps/app_festival.c
@@ -106,6 +106,10 @@ static int send_waveform_to_fd(char *waveform, int length, int fd) {
int res;
int x;
+#ifdef __PPC__
+ char c;
+#endif
+
res = fork();
if (res < 0)
ast_log(LOG_WARNING, "Fork failed\n");
@@ -115,6 +119,16 @@ static int send_waveform_to_fd(char *waveform, int length, int fd) {
if (x != fd)
close(x);
}
+//IAS
+#ifdef __PPC__
+ for( x=0; x<length; x+=2)
+ {
+ c = *(waveform+x+1);
+ *(waveform+x+1)=*(waveform+x);
+ *(waveform+x)=c;
+ }
+#endif
+
write(fd,waveform,length);
write(fd,"a",1);
close(fd);