-e flag handles arguments.
This commit is contained in:
		
							
								
								
									
										10
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								st.c
									
									
									
									
									
								
							| @@ -545,11 +545,15 @@ die(const char *errstr, ...) { | |||||||
|  |  | ||||||
| void | void | ||||||
| execsh(void) { | execsh(void) { | ||||||
| 	char *args[] = {getenv("SHELL"), "-i", NULL}; | 	char **args; | ||||||
|  | 	char *envshell = getenv("SHELL"); | ||||||
|  | 	DEFAULT(envshell, "sh"); | ||||||
|  |  | ||||||
| 	if(opt_cmd) | 	if(opt_cmd) | ||||||
| 		args[0] = opt_cmd, args[1] = NULL; | 		args = (char*[]){"sh", "-c", opt_cmd, NULL}; | ||||||
| 	else | 	else | ||||||
| 		DEFAULT(args[0], SHELL); | 		args = (char*[]){envshell, "-i", NULL}; | ||||||
|  | 	 | ||||||
| 	putenv("TERM="TNAME); | 	putenv("TERM="TNAME); | ||||||
| 	execvp(args[0], args); | 	execvp(args[0], args); | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user