From 201c72a8d672c1e2985bd340f6fa527251d695ba Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Fri, 25 May 2007 10:00:36 +0000 Subject: hush: micro-optimization in new variable code --- shell/hush.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'shell') diff --git a/shell/hush.c b/shell/hush.c index f40284cbb..1c7cddd36 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -2703,12 +2703,13 @@ static int set_local_var(char *str, int flg_export) return -1; } - name_len = value - str; + name_len = value - str + 1; /* including '=' */ cur = top_var; /* cannot be NULL (we have HUSH_VERSION and it's RO) */ while (1) { - if (strncmp(cur->varstr, str, name_len) != 0 || cur->varstr[name_len] != '=') { + if (strncmp(cur->varstr, str, name_len) != 0) { if (!cur->next) { - /* cur points to last var in linked list */ + /* Bail out. Note that now cur points + * to last var in linked list */ break; } cur = cur->next; @@ -2837,8 +2838,7 @@ static int setup_redirect(struct p_context *ctx, int fd, redir_type style, /* We do _not_ try to open the file that src points to, * since we need to return and let src be expanded first. * Set ctx->pending_redirect, so we know what to do at the - * end of the next parsed word. - */ + * end of the next parsed word. */ ctx->pending_redirect = redir; } return 0; -- cgit v1.2.3