(svn r2946) Remove redundant calls, simplify a check and terminate the argument list of execlp() as suggested by the manpage to make it correctly work on 64bit platforms
authortron
Mon, 12 Sep 2005 09:53:56 +0000
changeset 2420 e885ba7ba1e2
parent 2419 a2572881fd7c
child 2421 7b6750d797bd
(svn r2946) Remove redundant calls, simplify a check and terminate the argument list of execlp() as suggested by the manpage to make it correctly work on 64bit platforms
music/extmidi.c
--- a/music/extmidi.c	Sun Sep 11 18:36:22 2005 +0000
+++ b/music/extmidi.c	Mon Sep 12 09:53:56 2005 +0000
@@ -69,17 +69,13 @@
 			int d;
 
 			close(0);
-			close(1);
-			close(2);
 			d = open("/dev/null", O_RDONLY);
-			if (d != -1) {
-				if (dup2(d, 1) != -1 && dup2(d, 2) != -1) {
-					#if defined(MIDI_ARG)
-						execlp(msf.extmidi, "extmidi", MIDI_ARG, _midi.song, NULL);
-					#else
-						execlp(msf.extmidi, "extmidi", _midi.song, NULL);
-					#endif
-				}
+			if (d != -1 && dup2(d, 1) != -1 && dup2(d, 2) != -1) {
+				#if defined(MIDI_ARG)
+					execlp(msf.extmidi, "extmidi", MIDI_ARG, _midi.song, (char*)0);
+				#else
+					execlp(msf.extmidi, "extmidi", _midi.song, (char*)0);
+				#endif
 			}
 			_exit(1);
 		}