Merge pull request #482 from bebehei/execvp-errorhandler
Handle execvp error in open_browser
This commit is contained in:
		
						commit
						d25404d590
					
				
							
								
								
									
										13
									
								
								src/menu.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/menu.c
									
									
									
									
									
								
							| @ -115,10 +115,15 @@ void open_browser(const char *in) | ||||
|                 if (browser_pid2) { | ||||
|                         exit(0); | ||||
|                 } else { | ||||
|                         char *browser_cmd = | ||||
|                             string_append(settings.browser, url, " "); | ||||
|                         char *browser_cmd = g_strconcat(settings.browser, " ", url, NULL); | ||||
|                         char **cmd = g_strsplit(browser_cmd, " ", 0); | ||||
|                         execvp(cmd[0], cmd); | ||||
|                         // execvp won't return if it's successful
 | ||||
|                         // so, if we're here, it's definitely an error
 | ||||
|                         fprintf(stderr, "Warning: failed to execute '%s': %s\n", | ||||
|                                         settings.browser, | ||||
|                                         strerror(errno)); | ||||
|                         exit(EXIT_FAILURE); | ||||
|                 } | ||||
|         } | ||||
| } | ||||
| @ -238,6 +243,10 @@ void context_menu(void) | ||||
|                         exit(EXIT_FAILURE); | ||||
|                 } | ||||
|                 execvp(settings.dmenu_cmd[0], settings.dmenu_cmd); | ||||
|                 fprintf(stderr, "Warning: failed to execute '%s': %s\n", | ||||
|                                 settings.dmenu, | ||||
|                                 strerror(errno)); | ||||
|                 exit(EXIT_FAILURE); | ||||
|         } else { | ||||
|                 close(child_io[0]); | ||||
|                 close(parent_io[1]); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Nikos Tsipinakis
						Nikos Tsipinakis