X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bin%2Fvlc.c;h=e752b0536d93254210e82eace46c4df7f11b5c8e;hb=13d838b645807c40aa22e3f2094a55358c77e619;hp=610da477eb0116b80eb4257e6bc82cd67ecd27db;hpb=1861697046bdeda9a0165f6f5f771c65612e7a97;p=vlc diff --git a/bin/vlc.c b/bin/vlc.c index 610da477eb..e752b0536d 100644 --- a/bin/vlc.c +++ b/bin/vlc.c @@ -49,8 +49,6 @@ extern char *FromLocale (const char *); *****************************************************************************/ int main( int i_argc, const char *ppsz_argv[] ) { - int i_ret; - #ifdef __APPLE__ /* The so-called POSIX-compliant MacOS X is not. * SIGPIPE fires even when it is blocked in all threads! */ @@ -79,9 +77,6 @@ int main( int i_argc, const char *ppsz_argv[] ) # ifndef NDEBUG /* Activate malloc checking routines to detect heap corruptions. */ putenv( (char*)"MALLOC_CHECK_=2" ); -# ifdef __APPLE__ - putenv( (char*)"MallocErrorAbort=crash_my_baby_crash" ); -# endif /* Disable the ugly Gnome crash dialog so that we properly segfault */ putenv( (char *)"GNOME_DISABLE_CRASH_DIALOG=1" ); @@ -129,6 +124,7 @@ int main( int i_argc, const char *ppsz_argv[] ) const char *argv[i_argc + 3]; int argc = 0; + argv[argc++] = "--no-ignore-config"; #ifdef TOP_BUILDDIR argv[argc++] = FromLocale ("--plugin-path="TOP_BUILDDIR"/modules"); #endif @@ -141,6 +137,7 @@ int main( int i_argc, const char *ppsz_argv[] ) for (int i = 1; i < i_argc; i++) if ((argv[argc++] = FromLocale (ppsz_argv[i])) == NULL) return 1; // BOOM! + argv[argc] = NULL; libvlc_exception_t ex, dummy; libvlc_exception_init (&ex); @@ -162,17 +159,14 @@ int main( int i_argc, const char *ppsz_argv[] ) libvlc_add_intf (vlc, NULL, &ex); libvlc_playlist_play (vlc, -1, 0, NULL, &dummy); libvlc_wait (vlc); + + if (libvlc_exception_raised (&ex)) + fprintf( stderr, "%s\n", libvlc_errmsg() ); libvlc_release (vlc); } - i_ret = libvlc_exception_raised (&ex); - if( i_ret ) - fprintf( stderr, "%s\n", libvlc_exception_get_message( &ex)); - - libvlc_exception_clear (&ex); - libvlc_exception_clear (&dummy); for (int i = 0; i < argc; i++) LocaleFree (argv[i]); - return i_ret; + return vlc == NULL || libvlc_exception_raised (&ex); }