[klibc] [SHELL] Allow building without LINEO support
Simply specify --disable-lineno to configure.
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: maximilian attems <max@stro.at>
diff --git a/usr/dash/var.c b/usr/dash/var.c
index ecc8c90..027beff 100644
--- a/usr/dash/var.c
+++ b/usr/dash/var.c
@@ -101,7 +101,9 @@
{ 0, VSTRFIXED|VTEXTFIXED, "PS2=> ", 0 },
{ 0, VSTRFIXED|VTEXTFIXED, "PS4=+ ", 0 },
{ 0, VSTRFIXED|VTEXTFIXED, "OPTIND=1", getoptsreset },
+#ifdef WITH_LINENO
{ 0, VSTRFIXED|VTEXTFIXED, linenovar, 0 },
+#endif
#ifndef SMALL
{ 0, VSTRFIXED|VTEXTFIXED|VUNSET, "TERM\0", 0 },
{ 0, VSTRFIXED|VTEXTFIXED|VUNSET, "HISTSIZE\0", sethistsize },
@@ -335,9 +337,11 @@
struct var *v;
if ((v = *findvar(hashvar(name), name)) && !(v->flags & VUNSET)) {
+#ifdef WITH_LINENO
if (v == &vlineno && v->text == linenovar) {
fmtstr(linenovar+7, sizeof(linenovar)-7, "%d", lineno);
}
+#endif
return strchrnul(v->text, '=') + 1;
}
return NULL;
diff --git a/usr/dash/var.h b/usr/dash/var.h
index 4c02eb2..1a06a3c 100644
--- a/usr/dash/var.h
+++ b/usr/dash/var.h
@@ -88,9 +88,15 @@
#define vps2 (&vps1)[1]
#define vps4 (&vps2)[1]
#define voptind (&vps4)[1]
+#ifdef WITH_LINENO
#define vlineno (&voptind)[1]
+#endif
#ifndef SMALL
+#ifdef WITH_LINENO
#define vterm (&vlineno)[1]
+#else
+#define vterm (&voptind)[1]
+#endif
#define vhistsize (&vterm)[1]
#endif