From 3a9b35453c1bef1293c6faf73f95b8697ad4232c Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 17 Aug 2012 10:16:24 -0700 Subject: [PATCH] Fix an MSVC warning. Microsoft Visual Studio 2010 warns about 'C4146: unary minus operator applied to unsigned type, result still unsigned' because of the '&-sizeof(void*)' in align(). This commit works around the warning by casting the size_t to int before negation. Patch by Hauke, who reported the issue on the opus mailing list. Reviewed by derf. --- src/opus_private.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/opus_private.h b/src/opus_private.h index 6534a5ed..52482bc1 100644 --- a/src/opus_private.h +++ b/src/opus_private.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011 Xiph.Org Foundation +/* Copyright (c) 2012 Xiph.Org Foundation Written by Jean-Marc Valin */ /* Redistribution and use in source and binary forms, with or without @@ -77,7 +77,7 @@ int opus_decode_native(OpusDecoder *st, const unsigned char *data, opus_int32 le /* Make sure everything's aligned to sizeof(void *) bytes */ static inline int align(int i) { - return (i+sizeof(void *)-1)&-sizeof(void *); + return (i+sizeof(void *)-1)&-((int)sizeof(void *)); } opus_int32 opus_repacketizer_out_range_impl(OpusRepacketizer *rp, int begin, int end, unsigned char *data, opus_int32 maxlen, int self_delimited);