From 3838f0bc107c48765059b3ca615f02077d961f39 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 28 Dec 2023 22:12:17 +1030 Subject: [PATCH] LoongArch: Commas inside double quotes This adds an extra feature: Commas inside double quotes are not an arg delimiter, and thus can be part of the arg. * loongarch-coder.c (loongarch_split_args_by_comma): Commas inside quotes are not arg delimiters. --- opcodes/loongarch-coder.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/opcodes/loongarch-coder.c b/opcodes/loongarch-coder.c index b68352769ca..c5b09509964 100644 --- a/opcodes/loongarch-coder.c +++ b/opcodes/loongarch-coder.c @@ -18,6 +18,7 @@ along with this program; see the file COPYING3. If not, see . */ #include "sysdep.h" +#include #include "opcode/loongarch.h" int @@ -256,9 +257,12 @@ loongarch_split_args_by_comma (char *args, const char *arg_strs[]) if (*args) { + bool inquote = false; arg_strs[num++] = args; for (; *args; args++) - if (*args == ',') + if (*args == '"') + inquote = !inquote; + else if (*args == ',' && !inquote) { if (MAX_ARG_NUM_PLUS_2 - 1 == num) goto out; -- 2.47.3