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
........

Merged revisions 433691 from http://svn.asterisk.org/svn/asterisk/branches/13


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Jordan 2015-03-28 12:48:45 +00:00
parent e9520dbe0d
commit cb7b6bc4be
2 changed files with 38 additions and 31 deletions

View File

@ -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. */

View File

@ -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;