From 0f5ce25e8a67bb55de5de18e02c8c9afe2a31ec7 Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Thu, 28 Dec 2023 22:12:17 +1030
Subject: [PATCH 036/123] 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 b6835276..c5b09509 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 <http://www.gnu.org/licenses/>.  */
 #include "sysdep.h"
+#include <stdbool.h>
 #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.33.0

