All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Suchanek <msuchanek@suse.de>
To: Hari Bathini <hbathini@linux.vnet.ibm.com>,
	linuxppc-dev <linuxppc-dev@ozlabs.org>,
	lkml <linux-kernel@vger.kernel.org>,
	Ankit Kumar <ankit@linux.vnet.ibm.com>,
	Mahesh J Salgaonkar <mahesh@linux.vnet.ibm.com>
Cc: Michal Suchanek <msuchanek@suse.de>
Subject: [PATCH] Optimize final quote removal.
Date: Fri, 15 Dec 2017 22:49:41 +0100	[thread overview]
Message-ID: <20171215214941.4871-1-msuchanek@suse.de> (raw)
In-Reply-To: <151075906562.14434.17655499193254963975.stgit@hbathini.in.ibm.com>

This is additional patch that avoids the memmove when processing the quote on
the end of the parameter.

---
 lib/cmdline.c                                   | 9 +++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/lib/cmdline.c b/lib/cmdline.c
index c5335a79a177..b1d8a0dc60fc 100644
--- a/lib/cmdline.c
+++ b/lib/cmdline.c
@@ -191,7 +191,13 @@ bool parse_option_str(const char *str, const char *option)
 	return false;
 }
 
+#define break_arg_end(i) { \
+	if (isspace(args[i]) && !in_quote && !backslash && !in_single) \
+		break; \
+	}
+
 #define squash_char { \
+	break_arg_end(i + 1); \
 	memmove(args + 1, args, i); \
 	args++; \
 	i--; \
@@ -209,8 +215,7 @@ char *next_arg(char *args, char **param, char **val)
 	char *next;
 
 	for (i = 0; args[i]; i++) {
-		if (isspace(args[i]) && !in_quote && !backslash && !in_single)
-			break;
+		break_arg_end(i);
 
 		if ((equals == 0) && (args[i] == '='))
 			equals = i;
-- 
2.13.6

  reply	other threads:[~2017-12-15 21:49 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-15 15:16 [PATCH v9 0/8] reduce memory consumption for powerpc firmware-assisted capture kernel Hari Bathini
2017-11-15 15:16 ` [PATCH v9 1/8] lib/cmdline.c: remove quotes symmetrically Hari Bathini
2017-12-15 20:51   ` Michal Suchánek
2017-11-15 15:17 ` [PATCH v9 2/8] boot/param: add pointer to current and next argument to unknown parameter callback Hari Bathini
2017-12-15 20:47   ` Michal Suchánek
2017-12-15 21:41     ` [PATCH] Fix parse_args cycle limit check Michal Suchanek
2017-12-15 23:49       ` Randy Dunlap
2017-12-18 17:34         ` Michal Suchánek
2017-12-18 17:57           ` Randy Dunlap
2017-11-15 15:17 ` [PATCH v9 3/8] lib/cmdline.c: add backslash support to kernel commandline parsing Hari Bathini
2017-12-15 21:33   ` [PATCH] init/main.c: simplify repair_env_string Michal Suchanek
2018-05-04 15:40     ` Steven Rostedt
2018-05-04 16:08       ` Michal Suchánek
2017-11-15 15:17 ` [PATCH v9 4/8] Documentation/admin-guide: backslash support in commandline Hari Bathini
2017-11-15 15:18 ` [PATCH v9 5/8] lib/cmdline.c: implement single quotes in commandline argument parsing Hari Bathini
2017-12-15 21:49   ` Michal Suchanek [this message]
2017-11-15 15:18 ` [PATCH v9 6/8] Documentation/admin-guide: single quotes in kernel arguments Hari Bathini
2017-11-15 15:19 ` [PATCH v9 7/8] powerpc/fadump: reduce memory consumption for capture kernel Hari Bathini
2017-11-15 15:19 ` [PATCH v9 8/8] powerpc/fadump: update documentation about 'fadump_extra_args=' parameter Hari Bathini
2022-03-11 17:02 ` [PATCH v9 0/8] reduce memory consumption for powerpc firmware-assisted capture kernel Christophe Leroy
2022-03-11 17:02   ` Christophe Leroy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171215214941.4871-1-msuchanek@suse.de \
    --to=msuchanek@suse.de \
    --cc=ankit@linux.vnet.ibm.com \
    --cc=hbathini@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=mahesh@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.