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