Commit 83b4e836 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Replace libvlc_exception_get_message with libvlc_errmsg

(This is a bit hackish as the conversion is not completed)
parent e996cbef
...@@ -166,7 +166,7 @@ int main( int i_argc, const char *ppsz_argv[] ) ...@@ -166,7 +166,7 @@ int main( int i_argc, const char *ppsz_argv[] )
} }
i_ret = libvlc_exception_raised (&ex); i_ret = libvlc_exception_raised (&ex);
if( i_ret ) 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 (&ex);
libvlc_exception_clear (&dummy); libvlc_exception_clear (&dummy);
......
...@@ -106,16 +106,6 @@ libvlc_exception_raise( libvlc_exception_t *p_exception, ...@@ -106,16 +106,6 @@ libvlc_exception_raise( libvlc_exception_t *p_exception,
*/ */
VLC_PUBLIC_API void libvlc_exception_clear( libvlc_exception_t * ); 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 );
/**@} */ /**@} */
/***************************************************************************** /*****************************************************************************
......
...@@ -51,7 +51,6 @@ typedef struct libvlc_instance_t libvlc_instance_t; ...@@ -51,7 +51,6 @@ typedef struct libvlc_instance_t libvlc_instance_t;
typedef struct libvlc_exception_t typedef struct libvlc_exception_t
{ {
int b_raised; int b_raised;
char *psz_message;
} libvlc_exception_t; } libvlc_exception_t;
/**@} */ /**@} */
......
...@@ -105,8 +105,7 @@ private: ...@@ -105,8 +105,7 @@ private:
{ {
if( ! libvlc_exception_raised(ex) ) if( ! libvlc_exception_raised(ex) )
return NOERROR; return NOERROR;
_p_instance->setErrorInfo(IID_IVLCControl, _p_instance->setErrorInfo(IID_IVLCControl, libvlc_errmsg());
libvlc_exception_get_message(ex));
libvlc_exception_clear(ex); libvlc_exception_clear(ex);
return E_FAIL; return E_FAIL;
} }
......
...@@ -38,7 +38,7 @@ HRESULT _exception_bridge(VLCPlugin *p,REFIID riid, libvlc_exception_t *ex) ...@@ -38,7 +38,7 @@ HRESULT _exception_bridge(VLCPlugin *p,REFIID riid, libvlc_exception_t *ex)
{ {
if( libvlc_exception_raised(ex) ) if( libvlc_exception_raised(ex) )
{ {
p->setErrorInfo(riid,libvlc_exception_get_message(ex)); p->setErrorInfo(riid,libvlc_errmsg());
libvlc_exception_clear(ex); libvlc_exception_clear(ex);
return E_FAIL; return E_FAIL;
} }
......
...@@ -42,7 +42,7 @@ void __catch_exception( void * e, const char * function, const char * file, int ...@@ -42,7 +42,7 @@ void __catch_exception( void * e, const char * function, const char * file, int
NSException* libvlcException = [NSException NSException* libvlcException = [NSException
exceptionWithName:@"LibVLCException" exceptionWithName:@"LibVLCException"
reason:[NSString stringWithFormat:@"libvlc has thrown us an error: %s (%s:%d %s)", 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]; userInfo:nil];
libvlc_exception_clear( ex ); libvlc_exception_clear( ex );
@throw libvlcException; @throw libvlcException;
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
#define RETURN_ON_EXCEPTION(this,ex) \ #define RETURN_ON_EXCEPTION(this,ex) \
do { if( libvlc_exception_raised(&ex) ) \ do { if( libvlc_exception_raised(&ex) ) \
{ \ { \
NPN_SetException(this, libvlc_exception_get_message(&ex)); \ NPN_SetException(this, libvlc_errmsg()); \
libvlc_exception_clear(&ex); \ libvlc_exception_clear(&ex); \
return INVOKERESULT_GENERIC_ERROR; \ return INVOKERESULT_GENERIC_ERROR; \
} } while(false) } } while(false)
...@@ -448,7 +448,7 @@ LibvlcInputNPObject::getProperty(int index, NPVariant &result) ...@@ -448,7 +448,7 @@ LibvlcInputNPObject::getProperty(int index, NPVariant &result)
{ {
if( index != ID_input_state ) if( index != ID_input_state )
{ {
NPN_SetException(this, libvlc_exception_get_message(&ex)); NPN_SetException(this, libvlc_errmsg());
libvlc_exception_clear(&ex); libvlc_exception_clear(&ex);
return INVOKERESULT_GENERIC_ERROR; return INVOKERESULT_GENERIC_ERROR;
} }
......
...@@ -39,17 +39,14 @@ static const char nomemstr[] = "Insufficient memory"; ...@@ -39,17 +39,14 @@ static const char nomemstr[] = "Insufficient memory";
void libvlc_exception_init( libvlc_exception_t *p_exception ) void libvlc_exception_init( libvlc_exception_t *p_exception )
{ {
p_exception->b_raised = 0; p_exception->b_raised = 0;
p_exception->psz_message = NULL;
} }
void libvlc_exception_clear( libvlc_exception_t *p_exception ) void libvlc_exception_clear( libvlc_exception_t *p_exception )
{ {
if( NULL == p_exception ) if( NULL == p_exception )
return; return;
if( p_exception->psz_message != nomemstr )
free( p_exception->psz_message );
p_exception->psz_message = NULL;
p_exception->b_raised = 0; p_exception->b_raised = 0;
libvlc_clearerr ();
} }
int libvlc_exception_raised( const libvlc_exception_t *p_exception ) int libvlc_exception_raised( const libvlc_exception_t *p_exception )
...@@ -57,16 +54,6 @@ 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; 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 ) static void libvlc_exception_not_handled( const char *psz )
{ {
fprintf( stderr, "*** LibVLC Exception not handled: %s\nSet a breakpoint in '%s' to debug.\n", 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, ...@@ -78,31 +65,27 @@ void libvlc_exception_raise( libvlc_exception_t *p_exception,
const char *psz_format, ... ) const char *psz_format, ... )
{ {
va_list args; 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 */ /* Unformat-ize the message */
va_start( args, psz_format ); va_start( args, psz_format );
if( vasprintf( &psz, psz_format, args ) == -1) libvlc_vprinterr( psz_format, args );
psz = (char *)nomemstr;
va_end( args ); va_end( args );
/* Does caller care about exceptions ? */ /* Does caller care about exceptions ? */
if( p_exception == NULL ) { if( p_exception == NULL ) {
/* Print something, so that lazy third-parties can easily /* Print something, so that lazy third-parties can easily
* notice that something may have gone unnoticedly wrong */ * notice that something may have gone unnoticedly wrong */
libvlc_exception_not_handled( psz ); libvlc_exception_not_handled( libvlc_errmsg() );
if( psz != nomemstr )
free( psz );
return; 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; p_exception->b_raised = 1;
} }
......
...@@ -349,8 +349,7 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self, ...@@ -349,8 +349,7 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
if( libvlc_exception_raised( &ex ) ) if( libvlc_exception_raised( &ex ) )
{ {
free( retval ); free( retval );
RAISE( mediacontrol_InternalException, RAISE( mediacontrol_InternalException, libvlc_errmsg( ) );
libvlc_exception_get_message( &ex ) );
libvlc_exception_clear( &ex ); libvlc_exception_clear( &ex );
return NULL; return NULL;
} }
...@@ -371,8 +370,7 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self, ...@@ -371,8 +370,7 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
if( libvlc_exception_raised( &ex ) ) if( libvlc_exception_raised( &ex ) )
{ {
free( retval ); free( retval );
RAISE( mediacontrol_InternalException, RAISE( mediacontrol_InternalException, libvlc_errmsg() );
libvlc_exception_get_message( &ex ) );
libvlc_exception_clear( &ex ); libvlc_exception_clear( &ex );
return NULL; return NULL;
} }
......
...@@ -61,17 +61,17 @@ mediacontrol_RGBPicture *private_mediacontrol_createRGBPicture( int, int, long, ...@@ -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 RAISE_VOID( c, m ) do{ RAISE( c, m ); return; } while(0)
#define HANDLE_LIBVLC_EXCEPTION_VOID( e ) if( libvlc_exception_raised( e ) ) { \ #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 ); \ libvlc_exception_clear( e ); \
return; } return; }
#define HANDLE_LIBVLC_EXCEPTION_NULL( e ) if( libvlc_exception_raised( e ) ) { \ #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 ); \ libvlc_exception_clear( e ); \
return NULL; } return NULL; }
#define HANDLE_LIBVLC_EXCEPTION_ZERO( e ) if( libvlc_exception_raised( e ) ) { \ #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 ); \ libvlc_exception_clear( e ); \
return 0; } return 0; }
......
...@@ -31,7 +31,6 @@ libvlc_event_manager_release ...@@ -31,7 +31,6 @@ libvlc_event_manager_release
libvlc_event_send libvlc_event_send
libvlc_event_type_name libvlc_event_type_name
libvlc_exception_clear libvlc_exception_clear
libvlc_exception_get_message
libvlc_exception_init libvlc_exception_init
libvlc_exception_raise libvlc_exception_raise
libvlc_exception_raised libvlc_exception_raised
......
...@@ -88,12 +88,9 @@ static inline void catch (void) ...@@ -88,12 +88,9 @@ static inline void catch (void)
{ {
if (libvlc_exception_raised (&ex)) if (libvlc_exception_raised (&ex))
{ {
fprintf (stderr, "Exception: %s\n", fprintf (stderr, "Exception: %s\n", libvlc_errmsg ());
libvlc_exception_get_message (&ex));
abort (); abort ();
} }
assert (libvlc_exception_get_message (&ex) == NULL);
libvlc_exception_clear (&ex); libvlc_exception_clear (&ex);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment