hush: make umask builtin optional
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/shell/hush.c b/shell/hush.c
index 4604240..a713a96 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -272,6 +272,13 @@
//config: help
//config: Enable unset builtin in hush.
//config:
+//config:config HUSH_UMASK
+//config: bool "umask builtin"
+//config: default y
+//config: depends on HUSH || SH_IS_HUSH || BASH_IS_HUSH
+//config: help
+//config: Enable umask builtin in hush.
+//config:
//config:config MSH
//config: bool "msh (deprecated: aliased to hush)"
//config: default n
@@ -947,7 +954,9 @@
static int builtin_type(char **argv) FAST_FUNC;
#endif
static int builtin_true(char **argv) FAST_FUNC;
+#if ENABLE_HUSH_UMASK
static int builtin_umask(char **argv) FAST_FUNC;
+#endif
#if ENABLE_HUSH_UNSET
static int builtin_unset(char **argv) FAST_FUNC;
#endif
@@ -1043,7 +1052,9 @@
#if ENABLE_HUSH_ULIMIT
BLTIN("ulimit" , shell_builtin_ulimit, "Control resource limits"),
#endif
+#if ENABLE_HUSH_UMASK
BLTIN("umask" , builtin_umask , "Set file creation mask"),
+#endif
#if ENABLE_HUSH_UNSET
BLTIN("unset" , builtin_unset , "Unset variables"),
#endif
@@ -9610,6 +9621,7 @@
return G.last_exitcode;
}
+#if ENABLE_HUSH_UMASK
static int FAST_FUNC builtin_umask(char **argv)
{
int rc;
@@ -9646,6 +9658,7 @@
return !rc; /* rc != 0 - success */
}
+#endif
#if ENABLE_HUSH_KILL
static int FAST_FUNC builtin_kill(char **argv)