[Mplayer-cvslog] CVS: main mplayer.c,1.639,1.640

Arpi of Ize arpi at mplayerhq.hu
Sun Dec 29 22:06:23 CET 2002


Update of /cvsroot/mplayer/main
In directory mail:/var/tmp.root/cvs-serv17794

Modified Files:
	mplayer.c 
Log Message:
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 <oskar at osk.mine.nu>


Index: mplayer.c
===================================================================
RCS file: /cvsroot/mplayer/main/mplayer.c,v
retrieving revision 1.639
retrieving revision 1.640
diff -u -r1.639 -r1.640
--- mplayer.c	29 Dec 2002 14:58:58 -0000	1.639
+++ mplayer.c	29 Dec 2002 21:06:20 -0000	1.640
@@ -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;
 }




More information about the MPlayer-cvslog mailing list