diff options
author | Matthew Jordan <mjordan@digium.com> | 2015-03-28 12:48:09 +0000 |
---|---|---|
committer | Matthew Jordan <mjordan@digium.com> | 2015-03-28 12:48:09 +0000 |
commit | 2f6534527deef4dcc40001b93601761cf643a7c4 (patch) | |
tree | ff2e43c639c368d9477622bd993fbaa9b8101924 | |
parent | eb70993a50c5c85b61d7b1cf9e4a7d6e5eb9a901 (diff) |
clang compiler warnings: Fix -Wself-assign
Assigning a variable to itself isn't super useful. However, the WAV format
modules make use of this in order to perform byte endian checks. This patch
works around the warning by only performing the self assignment if we are
going to do more than just assign it to ourselves. Which is odd, but true.
Review: https://reviewboard.asterisk.org/r/4544/
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4544.patch submitted by dkdegroot (License 6600)
........
Merged revisions 433690 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@433691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r-- | formats/format_wav.c | 53 | ||||
-rw-r--r-- | formats/format_wav_gsm.c | 16 |
2 files changed, 38 insertions, 31 deletions
diff --git a/formats/format_wav.c b/formats/format_wav.c index 27da015d8..90ef986ef 100644 --- a/formats/format_wav.c +++ b/formats/format_wav.c @@ -64,14 +64,14 @@ struct wav_desc { /* format-specific parameters */ #define ltohs(b) (b) #else #if __BYTE_ORDER == __BIG_ENDIAN -#define htoll(b) \ - (((((b) ) & 0xFF) << 24) | \ - ((((b) >> 8) & 0xFF) << 16) | \ - ((((b) >> 16) & 0xFF) << 8) | \ - ((((b) >> 24) & 0xFF) )) +#define htoll(b) \ + (((((b) ) & 0xFF) << 24) | \ + ((( (b) >> 8) & 0xFF) << 16) | \ + ((( (b) >> 16) & 0xFF) << 8) | \ + ((( (b) >> 24) & 0xFF) )) #define htols(b) \ - (((((b) ) & 0xFF) << 8) | \ - ((((b) >> 8) & 0xFF) )) + (((((b) ) & 0xFF) << 8) | \ + ((( (b) >> 8) & 0xFF) )) #define ltohl(b) htoll(b) #define ltohs(b) htols(b) #else @@ -110,8 +110,8 @@ static int check_header_fmt(FILE *f, int hsize, int hz) return -1; } if (((ltohl(freq) != 8000) && (ltohl(freq) != 16000)) || - ((ltohl(freq) == 8000) && (hz != 8000)) || - ((ltohl(freq) == 16000) && (hz != 16000))) { + ((ltohl(freq) == 8000) && (hz != 8000)) || + ((ltohl(freq) == 16000) && (hz != 16000))) { ast_log(LOG_WARNING, "Unexpected frequency mismatch %d (expecting %d)\n", ltohl(freq),hz); return -1; } @@ -153,7 +153,9 @@ static int check_header(FILE *f, int hz) ast_log(LOG_WARNING, "Read failed (size)\n"); return -1; } +#if __BYTE_ORDER == __BIG_ENDIAN size = ltohl(size); +#endif if (fread(&formtype, 1, 4, f) != 4) { ast_log(LOG_WARNING, "Read failed (formtype)\n"); return -1; @@ -170,30 +172,32 @@ static int check_header(FILE *f, int hz) for(;;) { char buf[4]; - - /* Begin data chunk */ - if (fread(&buf, 1, 4, f) != 4) { + + /* Begin data chunk */ + if (fread(&buf, 1, 4, f) != 4) { ast_log(LOG_WARNING, "Read failed (block header format)\n"); return -1; - } - /* Data has the actual length of data in it */ - if (fread(&data, 1, 4, f) != 4) { + } + /* Data has the actual length of data in it */ + if (fread(&data, 1, 4, f) != 4) { ast_log(LOG_WARNING, "Read failed (block '%.4s' header length)\n", buf); return -1; - } - data = ltohl(data); + } +#if __BYTE_ORDER == __BIG_ENDIAN + data = ltohl(data); +#endif if (memcmp(&buf, "fmt ", 4) == 0) { if (check_header_fmt(f, data, hz)) return -1; continue; } - if(memcmp(buf, "data", 4) == 0 ) + if(memcmp(buf, "data", 4) == 0 ) break; ast_log(LOG_DEBUG, "Skipping unknown block '%.4s'\n", buf); - if (fseek(f,data,SEEK_CUR) == -1 ) { + if (fseek(f,data,SEEK_CUR) == -1 ) { ast_log(LOG_WARNING, "Failed to skip '%.4s' block: %d\n", buf, data); return -1; - } + } } #if 0 curpos = lseek(fd, 0, SEEK_CUR); @@ -461,13 +465,14 @@ static int wav_seek(struct ast_filestream *fs, off_t sample_offset, int whence) return -1; } - if (whence == SEEK_SET) + if (whence == SEEK_SET) { offset = samples + min; - else if (whence == SEEK_CUR || whence == SEEK_FORCECUR) + } else if (whence == SEEK_CUR || whence == SEEK_FORCECUR) { offset = samples + cur; - else if (whence == SEEK_END) + } else if (whence == SEEK_END) { offset = max - samples; - if (whence != SEEK_FORCECUR) { + } + if (whence != SEEK_FORCECUR) { offset = (offset > max)?max:offset; } /* always protect the header space. */ diff --git a/formats/format_wav_gsm.c b/formats/format_wav_gsm.c index 594989c52..06597abb3 100644 --- a/formats/format_wav_gsm.c +++ b/formats/format_wav_gsm.c @@ -74,14 +74,14 @@ struct wavg_desc { #define ltohs(b) (b) #else #if __BYTE_ORDER == __BIG_ENDIAN -#define htoll(b) \ - (((((b) ) & 0xFF) << 24) | \ - ((((b) >> 8) & 0xFF) << 16) | \ - ((((b) >> 16) & 0xFF) << 8) | \ - ((((b) >> 24) & 0xFF) )) +#define htoll(b) \ + (((((b) ) & 0xFF) << 24) | \ + ((( (b) >> 8) & 0xFF) << 16) | \ + ((( (b) >> 16) & 0xFF) << 8) | \ + ((( (b) >> 24) & 0xFF) )) #define htols(b) \ - (((((b) ) & 0xFF) << 8) | \ - ((((b) >> 8) & 0xFF) )) + (((((b) ) & 0xFF) << 8) | \ + ((( (b) >> 8) & 0xFF) )) #define ltohl(b) htoll(b) #define ltohs(b) htols(b) #else @@ -105,7 +105,9 @@ static int check_header(FILE *f) ast_log(LOG_WARNING, "Read failed (size)\n"); return -1; } +#if __BYTE_ORDER == __BIG_ENDIAN size = ltohl(size); +#endif if (fread(&formtype, 1, 4, f) != 4) { ast_log(LOG_WARNING, "Read failed (formtype)\n"); return -1; |