[Thread Prev][Thread Next]   >Date Index >Thread Index

[wmx] [PATCH] make wm2 64bit clean

Bernhard R. Link - Sun Jan 03 16:33:10 2010

execl/execlp expects a 0 pointer as last argument.
Giving it only 0 causes a 0 int (32 bit) as variable argument,
while pointers are 64 bit on 64 bit architectures.

--- a/Manager.C
+++ b/Manager.C
@@ -551,16 +551,16 @@ void WindowManager::spawn()
 	    }
 
 	    if (CONFIG_EXEC_USING_SHELL) {
-		execl(m_shell, m_shell, "-c", CONFIG_NEW_WINDOW_COMMAND, 0);
+		execl(m_shell, m_shell, "-c", CONFIG_NEW_WINDOW_COMMAND, (char*)0);
 		fprintf(stderr, "wm2: exec %s", m_shell);
 		perror(" failed");
 	    }
 
-	    execlp(CONFIG_NEW_WINDOW_COMMAND, CONFIG_NEW_WINDOW_COMMAND, 0);
+	    execlp(CONFIG_NEW_WINDOW_COMMAND, CONFIG_NEW_WINDOW_COMMAND, (char*)0);
 	    fprintf(stderr, "wm2: exec %s", CONFIG_NEW_WINDOW_COMMAND);
 	    perror(" failed");
 
-	    execlp("xterm", "xterm", "-ut", 0);
+	    execlp("xterm", "xterm", "-ut", (char*)0);
 	    perror("wm2: exec xterm failed");
 	    exit(1);
 	}



Next: