From a5ca35b044bbf13c0b16f0066bf24646604bb218 Mon Sep 17 00:00:00 2001
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
Date: Thu, 6 Aug 2020 15:22:04 +0200
Subject: [PATCH] Static cast to unsigned int for cases

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
[Retrieved from:
https://gitweb.gentoo.org/repo/gentoo.git/tree/media-libs/libmp4v2/files/libmp4v2-2.0.0-unsigned-int-cast.patch]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 libutil/Utility.cpp  | 2 +-
 util/mp4art.cpp      | 2 +-
 util/mp4chaps.cpp    | 2 +-
 util/mp4file.cpp     | 2 +-
 util/mp4subtitle.cpp | 2 +-
 util/mp4track.cpp    | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/libutil/Utility.cpp b/libutil/Utility.cpp
index 76cdd12..d6739d4 100644
--- a/libutil/Utility.cpp
+++ b/libutil/Utility.cpp
@@ -493,7 +493,7 @@ Utility::process_impl()
         if( codes.find( code ) == codes.end() )
             continue;
 
-        switch( code ) {
+        switch( static_cast<unsigned int>( code ) ) {
             case 'z':
                 _optimize = true;
                 break;
diff --git a/util/mp4art.cpp b/util/mp4art.cpp
index add935e..6e7f531 100644
--- a/util/mp4art.cpp
+++ b/util/mp4art.cpp
@@ -376,7 +376,7 @@ ArtUtility::utility_option( int code, bool& handled )
 {
     handled = true;
 
-    switch( code ) {
+    switch( static_cast<unsigned int> ( code ) ) {
         case LC_ART_ANY:
             _artFilter = numeric_limits<uint32_t>::max();
             break;
diff --git a/util/mp4chaps.cpp b/util/mp4chaps.cpp
index 98400f8..ccc8b70 100644
--- a/util/mp4chaps.cpp
+++ b/util/mp4chaps.cpp
@@ -632,7 +632,7 @@ ChapterUtility::utility_option( int code, bool& handled )
 {
     handled = true;
 
-    switch( code ) {
+    switch( static_cast<unsigned int> ( code ) ) {
         case 'A':
         case LC_CHPT_ANY:
             _ChapterType = MP4ChapterTypeAny;
diff --git a/util/mp4file.cpp b/util/mp4file.cpp
index c27844b..b127cd1 100644
--- a/util/mp4file.cpp
+++ b/util/mp4file.cpp
@@ -189,7 +189,7 @@ FileUtility::utility_option( int code, bool& handled )
 {
     handled = true;
 
-    switch( code ) {
+    switch( static_cast<unsigned int>( code ) ) {
         case LC_LIST:
             _action = &FileUtility::actionList;
             break;
diff --git a/util/mp4subtitle.cpp b/util/mp4subtitle.cpp
index 7462153..19d977d 100644
--- a/util/mp4subtitle.cpp
+++ b/util/mp4subtitle.cpp
@@ -164,7 +164,7 @@ SubtitleUtility::utility_option( int code, bool& handled )
 {
     handled = true;
 
-    switch( code ) {
+    switch( static_cast<unsigned int>( code ) ) {
         case LC_LIST:
             _action = &SubtitleUtility::actionList;
             break;
diff --git a/util/mp4track.cpp b/util/mp4track.cpp
index d550506..cd63d7e 100644
--- a/util/mp4track.cpp
+++ b/util/mp4track.cpp
@@ -788,7 +788,7 @@ TrackUtility::utility_option( int code, bool& handled )
 {
     handled = true;
 
-    switch( code ) {
+    switch( static_cast<unsigned int>( code ) ) {
         case LC_TRACK_WILDCARD:
             _trackMode = TM_WILDCARD;
             break;
-- 
2.28.0

