]> git.sesse.net Git - vlc/commitdiff
Replace libvlc_exception_get_message with libvlc_errmsg
authorRémi Denis-Courmont <remi@remlab.net>
Sun, 9 Aug 2009 17:08:02 +0000 (20:08 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Sun, 9 Aug 2009 17:08:02 +0000 (20:08 +0300)
(This is a bit hackish as the conversion is not completed)

12 files changed:
bin/vlc.c
include/vlc/libvlc.h
include/vlc/libvlc_structures.h
projects/activex/vlccontrol.h
projects/activex/vlccontrol2.cpp
projects/macosx/framework/Sources/VLCLibrary.m
projects/mozilla/control/npolibvlc.cpp
src/control/core.c
src/control/mediacontrol_core.c
src/control/mediacontrol_internal.h
src/libvlc.sym
test/libvlc/test.h

index 610da477eb0116b80eb4257e6bc82cd67ecd27db..94465e65425bb4f26b25238a94b7113d340f2c4e 100644 (file)
--- a/bin/vlc.c
+++ b/bin/vlc.c
@@ -166,7 +166,7 @@ int main( int i_argc, const char *ppsz_argv[] )
     }
     i_ret = libvlc_exception_raised (&ex);
     if( i_ret )
-        fprintf( stderr, "%s\n", libvlc_exception_get_message( &ex));
+        fprintf( stderr, "%s\n", libvlc_errmsg() );
 
     libvlc_exception_clear (&ex);
     libvlc_exception_clear (&dummy);
index f4663eb28fe15e0bf38a1d40fd8aebe5b3135587..1171dc8aaa014fa140db5ca4787b706b3e49a150 100644 (file)
@@ -106,16 +106,6 @@ libvlc_exception_raise( libvlc_exception_t *p_exception,
  */
 VLC_PUBLIC_API void libvlc_exception_clear( libvlc_exception_t * );
 
-/**
- * Get an exception's message.
- *
- * \param p_exception the exception to query
- * \return the exception message or NULL if not applicable (exception not
- *         raised, for example)
- */
-VLC_PUBLIC_API const char *
-libvlc_exception_get_message( const libvlc_exception_t *p_exception );
-
 /**@} */
 
 /*****************************************************************************
index 2b2291570c9d608ad0bde6af5cde924afca93641..4e5e1c5d4d40f83e741a83b8bdb53382c85d34e0 100644 (file)
@@ -51,7 +51,6 @@ typedef struct libvlc_instance_t libvlc_instance_t;
 typedef struct libvlc_exception_t
 {
     int b_raised;
-    char *psz_message;
 } libvlc_exception_t;
 
 /**@} */
index 35e8fde8b7a654540e769a95f71b77e46885dcb7..31b6919fad3273483f865875b2efee03e119cac8 100644 (file)
@@ -105,8 +105,7 @@ private:
     {
         if( ! libvlc_exception_raised(ex) )
             return NOERROR;
-        _p_instance->setErrorInfo(IID_IVLCControl,
-                                  libvlc_exception_get_message(ex));
+        _p_instance->setErrorInfo(IID_IVLCControl, libvlc_errmsg());
         libvlc_exception_clear(ex);
         return E_FAIL;
     }
index 7e90e2af37a77b8ae360921763680e6b8bdb5a58..2acec96e03ae5590085504745145ce7f3e296d7d 100644 (file)
@@ -38,7 +38,7 @@ HRESULT _exception_bridge(VLCPlugin *p,REFIID riid, libvlc_exception_t *ex)
 {
     if( libvlc_exception_raised(ex) )
     {
-        p->setErrorInfo(riid,libvlc_exception_get_message(ex));
+        p->setErrorInfo(riid,libvlc_errmsg());
         libvlc_exception_clear(ex);
         return E_FAIL;
     }
index 237414186cdf6966ed8e37318ed6b0d3b4346cd5..d7d3d38cbd01c0fa368857bdc33415e612d62614 100644 (file)
@@ -42,7 +42,7 @@ void __catch_exception( void * e, const char * function, const char * file, int
         NSException* libvlcException = [NSException
             exceptionWithName:@"LibVLCException"
             reason:[NSString stringWithFormat:@"libvlc has thrown us an error: %s (%s:%d %s)", 
-                libvlc_exception_get_message( ex ), file, line_number, function]
+                libvlc_errmsg(), file, line_number, function]
             userInfo:nil];
         libvlc_exception_clear( ex );
         @throw libvlcException;
index f92e8c46a900121f1b943b5136f86328d2ae26a7..73d198e1d2247f72b29064e2141b761b6639e3b9 100644 (file)
@@ -42,7 +42,7 @@
 #define RETURN_ON_EXCEPTION(this,ex) \
     do { if( libvlc_exception_raised(&ex) ) \
     { \
-        NPN_SetException(this, libvlc_exception_get_message(&ex)); \
+        NPN_SetException(this, libvlc_errmsg()); \
         libvlc_exception_clear(&ex); \
         return INVOKERESULT_GENERIC_ERROR; \
     } } while(false)
@@ -448,7 +448,7 @@ LibvlcInputNPObject::getProperty(int index, NPVariant &result)
         {
             if( index != ID_input_state )
             {
-                NPN_SetException(this, libvlc_exception_get_message(&ex));
+                NPN_SetException(this, libvlc_errmsg());
                 libvlc_exception_clear(&ex);
                 return INVOKERESULT_GENERIC_ERROR;
             }
index 3a67a82ba12b47294f9a82dd302a8c474c3b65cd..343efdd4650263c9c7bbf2794072e26f39644f5f 100644 (file)
@@ -39,17 +39,14 @@ static const char nomemstr[] = "Insufficient memory";
 void libvlc_exception_init( libvlc_exception_t *p_exception )
 {
     p_exception->b_raised = 0;
-    p_exception->psz_message = NULL;
 }
 
 void libvlc_exception_clear( libvlc_exception_t *p_exception )
 {
     if( NULL == p_exception )
         return;
-    if( p_exception->psz_message != nomemstr )
-        free( p_exception->psz_message );
-    p_exception->psz_message = NULL;
     p_exception->b_raised = 0;
+    libvlc_clearerr ();
 }
 
 int libvlc_exception_raised( const libvlc_exception_t *p_exception )
@@ -57,16 +54,6 @@ int libvlc_exception_raised( const libvlc_exception_t *p_exception )
     return (NULL != p_exception) && p_exception->b_raised;
 }
 
-const char *
-libvlc_exception_get_message( const libvlc_exception_t *p_exception )
-{
-    if( p_exception->b_raised == 1 && p_exception->psz_message )
-    {
-        return p_exception->psz_message;
-    }
-    return NULL;
-}
-
 static void libvlc_exception_not_handled( const char *psz )
 {
     fprintf( stderr, "*** LibVLC Exception not handled: %s\nSet a breakpoint in '%s' to debug.\n",
@@ -78,31 +65,27 @@ void libvlc_exception_raise( libvlc_exception_t *p_exception,
                              const char *psz_format, ... )
 {
     va_list args;
-    char * psz;
+
+    /* Make sure that there is no unnoticed previous exception */
+    if( p_exception && p_exception->b_raised )
+    {
+        libvlc_exception_not_handled( libvlc_errmsg() );
+        libvlc_exception_clear( p_exception );
+    }
 
     /* Unformat-ize the message */
     va_start( args, psz_format );
-    if( vasprintf( &psz, psz_format, args ) == -1)
-        psz = (char *)nomemstr;
+    libvlc_vprinterr( psz_format, args );
     va_end( args );
 
     /* Does caller care about exceptions ? */
     if( p_exception == NULL ) {
         /* Print something, so that lazy third-parties can easily
          * notice that something may have gone unnoticedly wrong */
-        libvlc_exception_not_handled( psz );
-        if( psz != nomemstr )
-            free( psz );
+        libvlc_exception_not_handled( libvlc_errmsg() );
         return;
     }
 
-    /* Make sure that there is no unnoticed previous exception */
-    if( p_exception->b_raised )
-    {
-        libvlc_exception_not_handled( p_exception->psz_message );
-        libvlc_exception_clear( p_exception );
-    }
-    p_exception->psz_message = psz;
     p_exception->b_raised = 1;
 }
 
index 240c93fb7dc9b1498cdfd78dac1557cb5d14a508..9281ac06eb95e6292ca4703e0824c4ec572cdb59 100644 (file)
@@ -349,8 +349,7 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
     if( libvlc_exception_raised( &ex ) )
     {
         free( retval );
-        RAISE( mediacontrol_InternalException,
-               libvlc_exception_get_message( &ex ) );
+        RAISE( mediacontrol_InternalException, libvlc_errmsg( ) );
         libvlc_exception_clear( &ex );
         return NULL;
     }
@@ -371,8 +370,7 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
         if( libvlc_exception_raised( &ex ) )
         {
             free( retval );
-            RAISE( mediacontrol_InternalException,
-                   libvlc_exception_get_message( &ex ) );
+            RAISE( mediacontrol_InternalException, libvlc_errmsg() );
             libvlc_exception_clear( &ex );
             return NULL;
         }
index 3e741ea02f88dc06fbf007b243ce79787f9f64d3..f248a8b61f69c7d78800659226fffd70a79974d6 100644 (file)
@@ -61,17 +61,17 @@ mediacontrol_RGBPicture *private_mediacontrol_createRGBPicture( int, int, long,
 #define RAISE_VOID( c, m ) do{ RAISE( c, m ); return;      } while(0)
 
 #define HANDLE_LIBVLC_EXCEPTION_VOID( e )  if( libvlc_exception_raised( e ) ) {    \
-    RAISE( mediacontrol_InternalException, libvlc_exception_get_message( e )); \
+    RAISE( mediacontrol_InternalException, libvlc_errmsg()); \
         libvlc_exception_clear( e ); \
         return; }
 
 #define HANDLE_LIBVLC_EXCEPTION_NULL( e )  if( libvlc_exception_raised( e ) ) {     \
-        RAISE( mediacontrol_InternalException, libvlc_exception_get_message( e )); \
+        RAISE( mediacontrol_InternalException, libvlc_errmsg()); \
         libvlc_exception_clear( e ); \
         return NULL; }
 
 #define HANDLE_LIBVLC_EXCEPTION_ZERO( e )  if( libvlc_exception_raised( e ) ) { \
-        RAISE( mediacontrol_InternalException, libvlc_exception_get_message( e )); \
+        RAISE( mediacontrol_InternalException, libvlc_errmsg()); \
         libvlc_exception_clear( e ); \
         return 0; }
 
index b41e21481f737fd69d516b81d480bd8eeebc9599..b3fab43fc3097255c7d6c8aa22d0d80026fbae48 100644 (file)
@@ -31,7 +31,6 @@ libvlc_event_manager_release
 libvlc_event_send
 libvlc_event_type_name
 libvlc_exception_clear
-libvlc_exception_get_message
 libvlc_exception_init
 libvlc_exception_raise
 libvlc_exception_raised
index 319318d66576dcbbf0af9005faab9e05daf82e11..7ac1f202084b2d8cc670228e29b71ef2b35e9454 100644 (file)
@@ -88,12 +88,9 @@ static inline void catch (void)
 {
     if (libvlc_exception_raised (&ex))
     {
-         fprintf (stderr, "Exception: %s\n",
-                  libvlc_exception_get_message (&ex));
+         fprintf (stderr, "Exception: %s\n", libvlc_errmsg ());
          abort ();
     }
-
-    assert (libvlc_exception_get_message (&ex) == NULL);
     libvlc_exception_clear (&ex);
 }