# HG changeset patch # User arpi # Date 1041195980 0 # Node ID 0bfd73828e3318accf26ad4c7ca323429820eda6 # Parent 8722ca2a1742811811937a988181312bcbdfc567 This patch fixes so that the exit code (or return code if you like) is set to zero when mplayer exits because of natural EOF or by the quit command. This can be useful if you (like me) use mplayer in scripts. patch by Oskar Liljeblad diff -r 8722ca2a1742 -r 0bfd73828e33 mplayer.c --- a/mplayer.c Sun Dec 29 21:04:45 2002 +0000 +++ b/mplayer.c Sun Dec 29 21:06:20 2002 +0000 @@ -437,7 +437,7 @@ extern void vo_uninit( void ); #endif -void exit_player(char* how){ +static void exit_player_with_rc(char* how, int rc){ uninit_player(INITED_ALL); #ifdef X11_FULLSCREEN @@ -452,7 +452,11 @@ if(how) mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_Exiting,mp_gettext(how)); mp_msg(MSGT_CPLAYER,MSGL_DBG2,"max framesize was %d bytes\n",max_framesize); - exit(1); + exit(rc); +} + +void exit_player(char* how){ + exit_player_with_rc(how, 1); } static void exit_sighandler(int x){ @@ -562,7 +566,7 @@ if((cmd = mp_input_get_cmd(0,0)) != NULL) { switch(cmd->id) { case MP_CMD_QUIT: - exit_player(MSGTR_Exit_quit); + exit_player_with_rc(MSGTR_Exit_quit, 0); case MP_CMD_PLAY_TREE_STEP: { eof = (cmd->args[0].v.i > 0) ? PT_NEXT_ENTRY : PT_PREV_ENTRY; } break; @@ -1177,7 +1181,7 @@ } fclose(f); mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_CoreDumped); - exit_player(MSGTR_Exit_eof); + exit_player_with_rc(MSGTR_Exit_eof, 0); } #ifdef USE_DVDREAD @@ -1250,7 +1254,7 @@ } fclose(f); mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_CoreDumped); - exit_player(MSGTR_Exit_eof); + exit_player_with_rc(MSGTR_Exit_eof, 0); } sh_audio=d_audio->sh; @@ -2181,7 +2185,7 @@ osd_function=OSD_PAUSE; } break; case MP_CMD_QUIT : { - exit_player(MSGTR_Exit_quit); + exit_player_with_rc(MSGTR_Exit_quit, 0); } case MP_CMD_GRAB_FRAMES : { grab_frames=2; @@ -3200,7 +3204,7 @@ done_freetype(); #endif -exit_player(MSGTR_Exit_eof); +exit_player_with_rc(MSGTR_Exit_eof, 0); return 1; }