summaryrefslogtreecommitdiff
path: root/editors/awk.c
diff options
context:
space:
mode:
authorDenys Vlasenko2010-03-11 12:44:25 +0100
committerDenys Vlasenko2010-03-11 12:44:25 +0100
commitb0a57abb79001b994115d2c96a7d9e1f2f511430 (patch)
tree81208522f04ddd011760c73f43889cb6cea52a27 /editors/awk.c
parent6ebdf7aa7bc2eac2b43601d5b9ec70af22e38af3 (diff)
downloadbusybox-b0a57abb79001b994115d2c96a7d9e1f2f511430.zip
busybox-b0a57abb79001b994115d2c96a7d9e1f2f511430.tar.gz
awk: code shrink
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'editors/awk.c')
-rw-r--r--editors/awk.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/editors/awk.c b/editors/awk.c
index 829d8a4..d7c114e 100644
--- a/editors/awk.c
+++ b/editors/awk.c
@@ -658,10 +658,8 @@ static void hash_remove(xhash *hash, const char *name)
/* ------ some useful functions ------ */
-static void skip_spaces(char **s)
+static char *skip_spaces(char *p)
{
- char *p = *s;
-
while (1) {
if (*p == '\\' && p[1] == '\n') {
p++;
@@ -671,7 +669,7 @@ static void skip_spaces(char **s)
}
p++;
}
- *s = p;
+ return p;
}
/* returns old *s, advances *s past word and terminating NUL */
@@ -822,7 +820,7 @@ static double getvar_i(var *v)
if (s && *s) {
v->number = my_strtod(&s);
if (v->type & VF_USER) {
- skip_spaces(&s);
+ s = skip_spaces(s);
if (*s != '\0')
v->type &= ~VF_USER;
}
@@ -981,7 +979,7 @@ static uint32_t next_token(uint32_t expected)
} else {
p = g_pos;
readnext:
- skip_spaces(&p);
+ p = skip_spaces(p);
g_lineno = t_lineno;
if (*p == '#')
while (*p != '\n' && *p != '\0')
@@ -1080,7 +1078,7 @@ static uint32_t next_token(uint32_t expected)
tc = TC_VARIABLE;
/* also consume whitespace between functionname and bracket */
if (!(expected & TC_VARIABLE) || (expected & TC_ARRAY))
- skip_spaces(&p);
+ p = skip_spaces(p);
if (*p == '(') {
tc = TC_FUNCTION;
} else {