ref: 3a9b35453c1bef1293c6faf73f95b8697ad4232c
parent: 2b14ac23f18f0d18f8df6af8e7892981b9cbd784
author: Ralph Giles <[email protected]>
date: Fri Aug 17 06:16:24 EDT 2012
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.
--- 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 @@
/* 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);