From 08a0bb756d34bcff50cf70b9aa1ab5c2ae77a1ea Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 10 Oct 2011 10:14:55 +0200 Subject: pcm_byteswap: use "end" pointer instead of buffer size --- src/pcm_byteswap.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/pcm_byteswap.c') diff --git a/src/pcm_byteswap.c b/src/pcm_byteswap.c index 13ed85bfe..fcd995ba2 100644 --- a/src/pcm_byteswap.c +++ b/src/pcm_byteswap.c @@ -31,13 +31,16 @@ const int16_t *pcm_byteswap_16(struct pcm_buffer *buffer, const int16_t *src, size_t len) { - unsigned i; int16_t *buf = pcm_buffer_get(buffer, len); assert(buf != NULL); - for (i = 0; i < len / 2; i++) - buf[i] = GUINT16_SWAP_LE_BE(src[i]); + const int16_t *src_end = src + len / sizeof(*src); + int16_t *dest = buf; + while (src < src_end) { + const int16_t x = *src++; + *dest++ = GUINT16_SWAP_LE_BE(x); + } return buf; } @@ -45,13 +48,16 @@ const int16_t *pcm_byteswap_16(struct pcm_buffer *buffer, const int32_t *pcm_byteswap_32(struct pcm_buffer *buffer, const int32_t *src, size_t len) { - unsigned i; int32_t *buf = pcm_buffer_get(buffer, len); assert(buf != NULL); - for (i = 0; i < len / 4; i++) - buf[i] = GUINT32_SWAP_LE_BE(src[i]); + const int32_t *src_end = src + len / sizeof(*src); + int32_t *dest = buf; + while (src < src_end) { + const int32_t x = *src++; + *dest++ = GUINT32_SWAP_LE_BE(x); + } return buf; } -- cgit v1.2.3