diff --git a/shell/hush.c b/shell/hush.c
index 032482c..72186f9 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -498,7 +498,7 @@
 	/* Was using fancy stuff:
 	 * (interactive_fd ? bb_error_msg : bb_error_msg_and_die)(...params...)
 	 * but it SEGVs. ?! Oh well... explicit temp ptr works around that */
-	void (*fp)(const char *s, ...);
+	void FAST_FUNC (*fp)(const char *s, ...);
 
 	fp = (interactive_fd ? bb_error_msg : bb_error_msg_and_die);
 	fp(msg ? "%s: %s" : "syntax error", "syntax error", msg);
diff --git a/shell/lash_unused.c b/shell/lash_unused.c
index d57f584..59199de 100644
--- a/shell/lash_unused.c
+++ b/shell/lash_unused.c
@@ -116,11 +116,11 @@
 /* function prototypes for shell stuff */
 static void checkjobs(struct jobset *job_list);
 static void remove_job(struct jobset *j_list, struct job *job);
-static int get_command_bufsiz(FILE * source, char *command);
+static int get_command_bufsiz(FILE *source, char *command);
 static int parse_command(char **command_ptr, struct job *job, int *inbg);
 static int run_command(struct job *newjob, int inbg, int outpipe[2]);
 static int pseudo_exec(struct child_prog *cmd) ATTRIBUTE_NORETURN;
-static int busy_loop(FILE * input);
+static int busy_loop(FILE *input);
 
 
 /* Table of built-in functions (these are non-forking builtins, meaning they
@@ -643,7 +643,7 @@
 static line_input_t *line_input_state;
 #endif
 
-static int get_command_bufsiz(FILE * source, char *command)
+static int get_command_bufsiz(FILE *source, char *command)
 {
 	const char *prompt_str;
 
@@ -1326,7 +1326,7 @@
 	return 0;
 }
 
-static int busy_loop(FILE * input)
+static int busy_loop(FILE *input)
 {
 	char *command;
 	char *next_command = NULL;
