<html><head></head><body>Indeed, it would not compile. That's why it's patched away...<br><br><div class="gmail_quote">Le 20 mai 2019 15:38:38 GMT+03:00, Steve Lhomme <robux4@ycbcr.xyz> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">On 2019-05-20 13:45, Rémi Denis-Courmont wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;">Hi,<br><br>In which cases can those errors be confused? The whole point is to allow <br>more precise errors (than VLC_EGENERIC), not less.<br></blockquote><br>switch (err)<br>{<br>    case VLC_ENOOBJ:<br>    case VLC_ENOVAR:<br>}<br><br>This shouldn't even compile now with this patch since they have the same <br>value.<br><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;">Le 20 mai 2019 09:43:37 GMT+03:00, Steve Lhomme <robux4@ycbcr.xyz> a écrit :<br><br>    On 2019-05-19 19:46, Rémi Denis-Courmont wrote:<br><br>        While this is not complete nor free of ambiguities, this enables<br>        a lot<br>        more expressive error values than the current tiny set. And even<br>        then,<br>        mostly only VLC_EGENERIC and VLC_ENOMEM are ever used.<br><br>        This also allows passing errors from the CRT or OS.<br><br>        This assumes that 666 is not an error code that VLC will use though.<hr>        include/vlc_common.h | 23 ++++++++++++++---------<br>        modules/lua/libs/misc.c | 23 ++---------------------<br>        2 files changed, 16 insertions(+), 30 deletions(-)<br><br>        diff --git a/include/vlc_common.h b/include/vlc_common.h<br>        index 0bbb98fd62..c6e6b7ae6a 100644<br>        --- a/include/vlc_common.h<br>        +++ b/include/vlc_common.h<br>        @@ -42,6 +42,11 @@<br>        /*****************************************************************************<br>        * Required system headers<br>        *****************************************************************************/<br>        +#ifndef __cplusplus<br>        +# include <errno.h><br>        +#else<br>        +# include <cerrno><br>        +#endif<br>        #include <stdlib.h><br>        #include <stdarg.h><br><br>        @@ -468,23 +473,23 @@ typedef union<br>        * Error values (shouldn't be exposed)<br>        *****************************************************************************/<br>        /** No error */<br>        -#define VLC_SUCCESS (-0)<br>        +#define VLC_SUCCESS 0<br>        /** Unspecified error */<br>        -#define VLC_EGENERIC (-1)<br>        +#define VLC_EGENERIC (-666)<br>        /** Not enough memory */<br>        -#define VLC_ENOMEM (-2)<br>        +#define VLC_ENOMEM (-ENOMEM)<br>        /** Timeout */<br>        -#define VLC_ETIMEOUT (-3)<br>        +#define VLC_ETIMEOUT (-ETIMEDOUT)<br>        /** Module not found */<br>        -#define VLC_ENOMOD (-4)<br>        +#define VLC_ENOMOD (-ENOTSUP)<br>        /** Object not found */<br>        -#define VLC_ENOOBJ (-5)<br>        +#define VLC_ENOOBJ (-EFAULT)<br><br><br>    We're losing some information about what kind of error this is.<br><br>        /** Variable not found */<br>        -#define VLC_ENOVAR (-6)<br>        +#define VLC_ENOVAR (-EFAULT)<br><br><br>    We're losing some information about what kind of error this is.<br><br>        /** Bad variable value */<br>        -#define VLC_EBADVAR (-7)<br>        +#define VLC_EBADVAR (-EINVAL)<br>        /** Item not found */<br>        -#define VLC_ENOITEM (-8)<br>        +#define VLC_ENOITEM (-ENOENT)<br><br>        /*****************************************************************************<br>        * Variable callbacks: called when the value is modified<br>        diff --git a/modules/lua/libs/misc.c b/modules/lua/libs/misc.c<br>        index 25f44c3047..c7d47c020b 100644<br>        --- a/modules/lua/libs/misc.c<br>        +++ b/modules/lua/libs/misc.c<br>        @@ -85,27 +85,8 @@ vlc_object_t * vlclua_get_this( lua_State *L )<br>        int vlclua_push_ret( lua_State *L, int i_error )<br>        {<br>        lua_pushnumber( L, i_error );<br>        -<br>        - int err;<br>        -<br>        - switch( i_error )<br>        - {<br>        - case VLC_SUCCESS: err = 0; break;<br>        - case VLC_ENOMEM: err = ENOMEM; break;<br>        - case VLC_ETIMEOUT: err = ETIMEDOUT; break;<br>        - case VLC_EBADVAR: err = EINVAL; break;<br>        - case VLC_ENOMOD: err = ENOENT; break;<br>        - case VLC_ENOOBJ: err = ENOENT; break;<br>        - case VLC_ENOVAR: err = ENOENT; break;<br>        - case VLC_EGENERIC:<br>        - lua_pushstring( L, "generic error" );<br>        - return 2;<br>        - default:<br>        - lua_pushstring( L, "unknown error" );<br>        - return 2;<br>        - }<br>        -<br>        - lua_pushstring( L, vlc_strerror_c(err) );<br>        + lua_pushstring( L, (i_error == VLC_EGENERIC ? "generic error"<br>        + : vlc_strerror_c(-i_error)) );<br>        return 2;<br>        }<br><br>        -- <br>        2.20.1<hr>        vlc-devel mailing list<br>        To unsubscribe or modify your subscription options:<br>        <a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><hr>    vlc-devel mailing list<br>    To unsubscribe or modify your subscription options:<br>    <a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br><br><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser <br>ma brièveté.<hr>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br><br></blockquote><hr>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a></pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>