hush: remove outdated TODO and superfluous macro; fix compile breakage
authorDenys Vlasenko <vda.linux@googlemail.com>
Wed, 27 May 2009 12:39:35 +0000 (14:39 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Wed, 27 May 2009 12:39:35 +0000 (14:39 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
shell/hush.c

index 533c56d..7167de7 100644 (file)
@@ -50,7 +50,6 @@
  *
  * TODOs:
  *      grep for "TODO" and fix (some of them are easy)
- *      $var refs in function do not pick up values set by "var=val func"
  *      builtins: ulimit
  *      follow IFS rules more precisely, including update semantics
  *
 # undef CONFIG_FEATURE_SH_STANDALONE
 # undef ENABLE_FEATURE_SH_STANDALONE
 # undef IF_FEATURE_SH_STANDALONE
-# define IF_NOT_FEATURE_SH_STANDALONE(...) __VA_ARGS__
-# define ENABLE_FEATURE_SH_STANDALONE 0
 # define IF_FEATURE_SH_STANDALONE(...)
 # define IF_NOT_FEATURE_SH_STANDALONE(...) __VA_ARGS__
+# define ENABLE_FEATURE_SH_STANDALONE 0
 #endif
 
 #if !ENABLE_HUSH_INTERACTIVE
@@ -4111,8 +4109,11 @@ static int run_list(struct pipe *pi)
                                }
 #endif
 #if ENABLE_HUSH_FUNCTIONS
-                               if (G.flag_return_in_progress == 1)
-                                       goto check_jobs_and_break;
+                               if (G.flag_return_in_progress == 1) {
+                                       /* same as "goto check_jobs_and_break" */
+                                       checkjobs(NULL);
+                                       break;
+                               }
 #endif
                        } else if (pi->followup == PIPE_BG) {
                                /* What does bash do with attempts to background builtins? */