[vlc-commits] Use static_assert()

Rémi Denis-Courmont git at videolan.org
Tue Jan 31 18:27:41 CET 2012


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Tue Jan 31 19:16:49 2012 +0200| [cc5fb82459a7ccef27f86120e4881b9203df0626] | committer: Rémi Denis-Courmont

Use static_assert()

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=cc5fb82459a7ccef27f86120e4881b9203df0626
---

 modules/access/v4l2/video.c |    8 ++++++--
 src/misc/threads.c          |    8 +++-----
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/modules/access/v4l2/video.c b/modules/access/v4l2/video.c
index f1db053..3314470 100644
--- a/modules/access/v4l2/video.c
+++ b/modules/access/v4l2/video.c
@@ -915,8 +915,12 @@ static int InitVideo( vlc_object_t *p_obj, int i_fd, demux_sys_t *p_sys,
         if( std == 0 )
         {
             const size_t n = sizeof(standards_vlc) / sizeof(*standards_vlc);
-            assert( n == sizeof(standards_v4l2) / sizeof(*standards_v4l2) );
-            assert( n == sizeof(standards_user) / sizeof(*standards_user) );
+
+            static_assert(n == sizeof (standards_v4l2)
+                / sizeof (*standards_v4l2), "Inconsistent standards tables");
+            static_assert(n == sizeof (standards_user)
+                / sizeof (*standards_user), "Inconsistent standards tables");
+
             for( size_t i = 0; i < n; i++ )
                 if( strcasecmp( stdname, standards_vlc[i] ) == 0 )
                 {
diff --git a/src/misc/threads.c b/src/misc/threads.c
index da80d0a..e3f2cb2 100644
--- a/src/misc/threads.c
+++ b/src/misc/threads.c
@@ -43,15 +43,13 @@ void vlc_global_mutex (unsigned n, bool acquire)
         VLC_STATIC_MUTEX,
         VLC_STATIC_MUTEX,
     };
+    static_assert (VLC_MAX_MUTEX == (sizeof (locks) / sizeof (locks[0])),
+                   "Wrong number of global mutexes");
     assert (n < (sizeof (locks) / sizeof (locks[0])));
-    vlc_mutex_t *lock = locks + n;
 
+    vlc_mutex_t *lock = locks + n;
     if (acquire)
         vlc_mutex_lock (lock);
     else
         vlc_mutex_unlock (lock);
-
-    /* Compile-time assertion ;-) */
-    char enough_locks[(sizeof (locks) / sizeof (locks[0])) - VLC_MAX_MUTEX];
-    (void) enough_locks;
 }



More information about the vlc-commits mailing list