[vlc-commits] [Git][videolan/vlc][master] 5 commits: xiph: use truth value for test results

Hugo Beauzée-Luyssen (@chouquette) gitlab at videolan.org
Tue Sep 14 11:31:54 UTC 2021



Hugo Beauzée-Luyssen pushed to branch master at VideoLAN / VLC


Commits:
262997e9 by Rémi Denis-Courmont at 2021-09-13T18:19:59+03:00
xiph: use truth value for test results

Not exact (and mismatched) defines.

- - - - -
ccef59c9 by Rémi Denis-Courmont at 2021-09-13T18:20:40+03:00
lua: match strerror() case

- - - - -
83541df6 by Rémi Denis-Courmont at 2021-09-13T18:20:48+03:00
include: map VLC_EGENERIC to INT_MIN

VLC_EGENERIC has no equivalent in <errno.h>, so it should not alias any
<errno.h> value. This maps it to INT_MIN. It works because -INT_MIN equals
INT_MAX + 1, which is out of range of `int`. As a reminder codes in
<errno.h> are positive integers.

The convoluted definition is to avoid pulling <limits.h> into
<vlc_common.h> and from there all over the code base.

- - - - -
2d80a675 by Rémi Denis-Courmont at 2021-09-13T18:20:49+03:00
include: use negated standard error codes

- - - - -
0f2a579a by Rémi Denis-Courmont at 2021-09-13T18:21:01+03:00
lua: simplify strerror() usage

- - - - -


3 changed files:

- include/vlc_common.h
- modules/demux/xiph_test.c
- modules/lua/libs/misc.c


Changes:

=====================================
include/vlc_common.h
=====================================
@@ -44,6 +44,7 @@
  *****************************************************************************/
 #include <stdlib.h>
 #include <stdarg.h>
+#include <errno.h>
 
 #include <string.h>
 #include <stdio.h>
@@ -463,25 +464,29 @@ typedef union
 
 } vlc_value_t;
 
-/*****************************************************************************
- * Error values (shouldn't be exposed)
- *****************************************************************************/
+/**
+ * \defgroup errors Error codes
+ * \ingroup cext
+ * @{
+ */
 /** No error */
-#define VLC_SUCCESS        (-0)
+#define VLC_SUCCESS        0
 /** Unspecified error */
-#define VLC_EGENERIC       (-1)
+#define VLC_EGENERIC       (-2 * (1 << (sizeof (int) * 8 - 2))) /* INT_MIN */
 /** Not enough memory */
-#define VLC_ENOMEM         (-2)
+#define VLC_ENOMEM         (-ENOMEM)
 /** Timeout */
-#define VLC_ETIMEOUT       (-3)
+#define VLC_ETIMEOUT       (-ETIMEDOUT)
 /** Not found */
-#define VLC_ENOENT         (-4)
+#define VLC_ENOENT         (-ENOENT)
 /** Bad variable value */
-#define VLC_EINVAL         (-7)
+#define VLC_EINVAL         (-EINVAL)
 /** Operation forbidden */
-#define VLC_EACCES         (-9)
+#define VLC_EACCES         (-EACCES)
 /** Operation not supported */
-#define VLC_ENOTSUP        (-10)
+#define VLC_ENOTSUP        (-ENOTSUP)
+
+/** @} */
 
 /*****************************************************************************
  * Variable callbacks: called when the value is modified


=====================================
modules/demux/xiph_test.c
=====================================
@@ -41,12 +41,6 @@ static const uint8_t xiphlavc0[] = { 0x00,   30,
                                      0x01,
                                      0x00, 0x00 };
 
-enum
-{
-    OK = VLC_SUCCESS,
-    FAIL = VLC_EGENERIC,
-};
-
 struct params_s
 {
     const void *packets[XIPH_MAX_HEADER_COUNT];
@@ -61,7 +55,10 @@ struct params_s
 #define BAILOUT(run) { fprintf(stderr, "failed %s line %d\n", run, __LINE__); \
                         return 1; }
 #define RUN(run, test, a, b, res) \
-    if(test(#test " " run, a, b, &params) != res) BAILOUT(#test " " run)
+    if((!test(#test " " run, a, b, &params)) != res) \
+       BAILOUT(#test " " run)
+#define PASS(run, test, a, b) RUN(run, test, a, b, true)
+#define FAIL(run, test, a, b) RUN(run, test, a, b, false)
 #define EXPECT(foo) if(!(foo)) BAILOUT(run)
 #define EXPECT_CLEANUP(foo, cleanup) if(!(foo)) { cleanup; BAILOUT(run) }
 
@@ -70,7 +67,7 @@ static int test_xiph_IsLavcFormat(const char *run,
                  const struct params_s *source)
 {
     EXPECT(xiph_IsLavcFormat(p_extra, i_extra, source->codec) == source->lavc);
-    return OK;
+    return 0;
 }
 
 static int test_xiph_CountHeaders(const char *run,
@@ -78,7 +75,7 @@ static int test_xiph_CountHeaders(const char *run,
                  const struct params_s *source)
 {
     EXPECT(xiph_CountHeaders(p_extra, i_extra) == source->packets_count);
-    return OK;
+    return 0;
 }
 
 static int test_xiph_CountLavcHeaders(const char *run,
@@ -86,7 +83,7 @@ static int test_xiph_CountLavcHeaders(const char *run,
                  const struct params_s *source)
 {
     EXPECT(xiph_CountLavcHeaders(p_extra, i_extra) == source->packets_count);
-    return OK;
+    return 0;
 }
 
 static int SplitCompare(const char *run,
@@ -174,44 +171,44 @@ int main(void)
     params.codec = VLC_CODEC_VORBIS;
 
     /* check if we can detect lavc format */
-    RUN("0", test_xiph_IsLavcFormat, xiph0, 0, OK);
-    RUN("1", test_xiph_IsLavcFormat, xiph0, 1, OK);
-    RUN("2", test_xiph_IsLavcFormat, xiph0, 2, OK);
-    RUN("3", test_xiph_IsLavcFormat, xiph0, 6, OK);
-    RUN("lavc0", test_xiph_IsLavcFormat, xiph0, 0, OK);
-    RUN("lavc1", test_xiph_IsLavcFormat, xiph0, 1, OK);
-    RUN("lavc2", test_xiph_IsLavcFormat, xiph0, 6, OK);
-    RUN("lavc3", test_xiph_IsLavcFormat, xiphlavc0, 0, OK);
-    RUN("lavc4", test_xiph_IsLavcFormat, xiphlavc0, 1, OK);
+    PASS("0", test_xiph_IsLavcFormat, xiph0, 0);
+    PASS("1", test_xiph_IsLavcFormat, xiph0, 1);
+    PASS("2", test_xiph_IsLavcFormat, xiph0, 2);
+    PASS("3", test_xiph_IsLavcFormat, xiph0, 6);
+    PASS("lavc0", test_xiph_IsLavcFormat, xiph0, 0);
+    PASS("lavc1", test_xiph_IsLavcFormat, xiph0, 1);
+    PASS("lavc2", test_xiph_IsLavcFormat, xiph0, 6);
+    PASS("lavc3", test_xiph_IsLavcFormat, xiphlavc0, 0);
+    PASS("lavc4", test_xiph_IsLavcFormat, xiphlavc0, 1);
     params.lavc = true;
-    RUN("lavc5", test_xiph_IsLavcFormat, xiphlavc0, 37, OK);
+    PASS("lavc5", test_xiph_IsLavcFormat, xiphlavc0, 37);
     params.codec = 0;
     params.lavc = false;
-    RUN("lavc6", test_xiph_IsLavcFormat, xiphlavc0, 37, OK);
+    PASS("lavc6", test_xiph_IsLavcFormat, xiphlavc0, 37);
 
     /* check count and return 0 on error */
     params.packets_count = 0;
-    RUN("0", test_xiph_CountHeaders, xiph0, 0, OK);
+    PASS("0", test_xiph_CountHeaders, xiph0, 0);
     params.packets_count = 1;
-    RUN("1", test_xiph_CountHeaders, xiph0, 1, OK);
+    PASS("1", test_xiph_CountHeaders, xiph0, 1);
     params.packets_count = 3;
-    RUN("2", test_xiph_CountHeaders, xiph1, 11, OK);
+    PASS("2", test_xiph_CountHeaders, xiph1, 11);
 
     /* check lavc only valid with count == 3 */
     params.packets_count = 3;
     params.codec = VLC_CODEC_VORBIS;
-    RUN("lavc0", test_xiph_CountLavcHeaders, xiphlavc0, 37, OK);
+    PASS("lavc0", test_xiph_CountLavcHeaders, xiphlavc0, 37);
     params.packets_count = 0;
-    RUN("lavc1", test_xiph_CountLavcHeaders, xiphlavc0, 35, OK);
-    RUN("lavc2", test_xiph_CountLavcHeaders, xiphlavc0, 0, OK);
+    PASS("lavc1", test_xiph_CountLavcHeaders, xiphlavc0, 35);
+    PASS("lavc2", test_xiph_CountLavcHeaders, xiphlavc0, 0);
 
     /* check split on single/trail packet (no index) */
     params.packets[0] = &xiph0[1];
     params.packets_sizes[0] = 5;
     params.packets_count = 1;
-    RUN("0", test_xiph_SplitHeaders, xiph0, 6, OK);
+    PASS("0", test_xiph_SplitHeaders, xiph0, 6);
     params.packets_sizes[0] = 0;
-    RUN("1", test_xiph_SplitHeaders, xiph0, 1, OK);
+    PASS("1", test_xiph_SplitHeaders, xiph0, 1);
 
     /* check split */
     params.packets_count = 3;
@@ -221,22 +218,22 @@ int main(void)
     params.packets_sizes[1] = 1;
     params.packets[2] = &xiph1[9];
     params.packets_sizes[2] = 2;
-    RUN("2", test_xiph_SplitHeaders, xiph1, 11, OK);
-    RUN("3", test_xiph_SplitHeaders, xiph1, 7, FAIL);
+    PASS("2", test_xiph_SplitHeaders, xiph1, 11);
+    FAIL("3", test_xiph_SplitHeaders, xiph1, 7);
 
     /* check variable length decoding */
     uint8_t xiph2[265];
     memset(xiph2, 0xFF, 265);
-    RUN("4", test_xiph_SplitHeaders, xiph2, 265, FAIL);
+    FAIL("4", test_xiph_SplitHeaders, xiph2, 265);
     xiph2[0] = 1;
-    RUN("5", test_xiph_SplitHeaders, xiph2, 265, FAIL);
+    FAIL("5", test_xiph_SplitHeaders, xiph2, 265);
     xiph2[2] = 1;
     params.packets_count = 2;
     params.packets[0] = &xiph2[3];
     params.packets_sizes[0] = 256;
     params.packets[1] = &xiph2[3+256];
     params.packets_sizes[1] = 6;
-    RUN("6", test_xiph_SplitHeaders, xiph2, 265, OK);
+    PASS("6", test_xiph_SplitHeaders, xiph2, 265);
     /* /!\ xiph2 content reused in another test below */
 
     /* check lavc split */
@@ -247,21 +244,21 @@ int main(void)
     params.packets_sizes[1] = 1;
     params.packets[2] = &xiphlavc0[37];
     params.packets_sizes[2] = 0;
-    RUN("lavc0", test_xiph_SplitLavcHeaders, xiphlavc0, 37, OK);
-    RUN("lavc1", test_xiph_SplitLavcHeaders, xiphlavc0, 36, FAIL);
-    RUN("lavc2", test_xiph_SplitLavcHeaders, xiphlavc0, 31, FAIL);
+    PASS("lavc0", test_xiph_SplitLavcHeaders, xiphlavc0, 37);
+    FAIL("lavc1", test_xiph_SplitLavcHeaders, xiphlavc0, 36);
+    FAIL("lavc2", test_xiph_SplitLavcHeaders, xiphlavc0, 31);
 
     /* Test single packet packing */
     params.packets_count = XIPH_MAX_HEADER_COUNT + 1;
-    RUN("0", test_xiph_PackHeaders, xiph0, 6, FAIL);
+    FAIL("0", test_xiph_PackHeaders, xiph0, 6);
     params.packets_count = 1;
     params.packets[0] = &xiph0[1];
     params.packets_sizes[0] = 5;
-    RUN("1", test_xiph_PackHeaders, xiph0, 6, OK);
+    PASS("1", test_xiph_PackHeaders, xiph0, 6);
 
     /* Test multiple packets packing */
     params.packets_count = 0;
-    RUN("2", test_xiph_PackHeaders, xiph1, 11, FAIL);
+    FAIL("2", test_xiph_PackHeaders, xiph1, 11);
     params.packets_count = 3;
     params.packets[0] = &xiph1[3];
     params.packets_sizes[0] = 5;
@@ -269,7 +266,7 @@ int main(void)
     params.packets_sizes[1] = 1;
     params.packets[2] = &xiph1[9];
     params.packets_sizes[2] = 2;
-    RUN("3", test_xiph_PackHeaders, xiph1, 11, OK);
+    PASS("3", test_xiph_PackHeaders, xiph1, 11);
 
     /* Test multiple packets packing variable length encoding */
     params.packets_count = 2;
@@ -277,20 +274,20 @@ int main(void)
     params.packets_sizes[0] = 256;
     params.packets[1] = &xiph2[3+256];
     params.packets_sizes[1] = 6;
-    RUN("4", test_xiph_PackHeaders, xiph2, 265, OK);
+    PASS("4", test_xiph_PackHeaders, xiph2, 265);
 
     /* Appending */
     params.i_append = 0;
     params.p_append = NULL;
     params.packets[0] = &xiph0[1];
     params.packets_sizes[0] = 5;
-    RUN("0", test_xiph_AppendHeaders, xiph0, 6, OK);
+    PASS("0", test_xiph_AppendHeaders, xiph0, 6);
     /* append second time */
     xiph2[0] = 1;
     xiph2[1] = 5;
     memcpy(&xiph2[2+0], &xiph0[1], 5);
     memcpy(&xiph2[2+5], &xiph0[1], 5);
-    RUN("1", test_xiph_AppendHeaders, xiph2, 12, OK);
+    PASS("1", test_xiph_AppendHeaders, xiph2, 12);
     /* check append array overflow */
     free(params.p_append);
     params.i_append = 0;
@@ -301,7 +298,7 @@ int main(void)
         xiph2[0] = i;
         xiph2[1 + i] = 0;
         RUN("2", test_xiph_AppendHeaders, xiph2, 1 + i,
-            ((i < XIPH_MAX_HEADER_COUNT) ? OK : FAIL) );
+            (i < XIPH_MAX_HEADER_COUNT) );
     }
 
     free(params.p_append);


=====================================
modules/lua/libs/misc.c
=====================================
@@ -90,26 +90,16 @@ vlc_player_t *vlclua_get_player_internal( lua_State *L )
  *****************************************************************************/
 int vlclua_push_ret( lua_State *L, int i_error )
 {
+    const char *str;
+
     lua_pushnumber( L, i_error );
 
-    int err;
-
-    switch( i_error )
-    {
-        case VLC_SUCCESS:   err = 0;         break;
-        case VLC_ENOMEM:    err = ENOMEM;    break;
-        case VLC_ETIMEOUT:  err = ETIMEDOUT; break;
-        case VLC_EINVAL:    err = EINVAL;    break;
-        case VLC_ENOENT:    err = ENOENT;    break;
-        case VLC_EGENERIC:
-            lua_pushstring( L, "generic error" );
-            return 2;
-        default:
-            lua_pushstring( L, "unknown error" );
-            return 2;
-    }
-
-    lua_pushstring( L, vlc_strerror_c(err) );
+    if( i_error == VLC_EGENERIC )
+        str = "Generic error";
+    else
+        str = vlc_strerror_c( -i_error );
+
+    lua_pushstring( L, str );
     return 2;
 }
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/10d1e17325e6058e0448081d5b68bdb29d9cf440...0f2a579ab27a76daf741313329426c16d7bf77e7

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/10d1e17325e6058e0448081d5b68bdb29d9cf440...0f2a579ab27a76daf741313329426c16d7bf77e7
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list