diff --git a/src/sound_aiff.c b/src/sound_aiff.c index d087dc8..fe96ef4 100644 --- a/src/sound_aiff.c +++ b/src/sound_aiff.c @@ -120,22 +120,18 @@ static void play(void *b, int len) static void deinit(void) { - unsigned long tmp; - if (size > 54) { if (lseek(fd, 4, SEEK_SET) == 4) { /* FORM chunk size */ - tmp = size - 8; - write32b(fd, tmp); + write32b(fd, size - 8); } if (lseek(fd, 22, SEEK_SET) == 22) { /* COMM frames */ - tmp = (size - 54) / (bits / 8) / channels; + unsigned long tmp = (size - 54) / (bits / 8) / channels; write32b(fd, tmp); } if (lseek(fd, 42, SEEK_SET) == 42) { /* SSND chunk size */ - tmp = size - 48; /* minus header + 8 */ - write32b(fd, tmp); + write32b(fd, size - 48); /* minus header + 8 */ } } diff --git a/src/sound_wav.c b/src/sound_wav.c index 9e9e0ef..d6eebef 100644 --- a/src/sound_wav.c +++ b/src/sound_wav.c @@ -136,11 +136,13 @@ static void play(void *b, int len) static void deinit(void) { - lseek(fd, 40, SEEK_SET); - write_32l(fd, size); + if (lseek(fd, 40, SEEK_SET) == 40) { + write_32l(fd, size); + } - lseek(fd, 4, SEEK_SET); - write_32l(fd, size + 40); + if (lseek(fd, 4, SEEK_SET) == 4) { + write_32l(fd, size + 40); + } if (fd > 0) { close(fd);