Don't choke if /etc/profile is not available
diff --git a/hush.c b/hush.c
index 859353d..f70074f 100644
--- a/hush.c
+++ b/hush.c
@@ -2556,9 +2556,7 @@
/* Put ourselves in our own process group. */
shell_pgrp = getpid ();
- if (setpgid (shell_pgrp, shell_pgrp) < 0) {
- perror_msg_and_die("Couldn't put the shell in its own process group");
- }
+ setpgid (shell_pgrp, shell_pgrp);
/* Grab control of the terminal. */
tcsetpgrp(shell_terminal, shell_pgrp);
@@ -2607,11 +2605,12 @@
if (argv[0] && argv[0][0] == '-') {
debug_printf("\nsourcing /etc/profile\n");
- input = xfopen("/etc/profile", "r");
- mark_open(fileno(input));
- parse_file_outer(input);
- mark_closed(fileno(input));
- fclose(input);
+ if ((input = fopen("/etc/profile", "r")) != NULL) {
+ mark_open(fileno(input));
+ parse_file_outer(input);
+ mark_closed(fileno(input));
+ fclose(input);
+ }
}
input=stdin;