From c06ae4f232e6e2b3d3062ffc5bce2b4477cb388a Mon Sep 17 00:00:00 2001 From: Ulf Carlsson Date: Wed, 14 Jun 2000 04:58:50 +0000 Subject: 2000-06-13 Ulf Carlsson * macro.c (getstring): Make it possible to escape the quote character. --- gas/macro.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'gas/macro.c') diff --git a/gas/macro.c b/gas/macro.c index df01bc5..3a0b612 100644 --- a/gas/macro.c +++ b/gas/macro.c @@ -304,14 +304,25 @@ getstring (idx, in, acc) else if (in->ptr[idx] == '"' || in->ptr[idx] == '\'') { char tchar = in->ptr[idx]; + int escaped = 0; idx++; while (idx < in->len) { + if (in->ptr[idx-1] == '\\') + escaped ^= 1; + else + escaped = 0; + if (macro_alternate && in->ptr[idx] == '!') { idx++ ; sb_add_char (acc, in->ptr[idx++]); } + else if (escaped && in->ptr[idx] == tchar) + { + sb_add_char (acc, tchar); + idx++; + } else { if (in->ptr[idx] == tchar) -- cgit v1.1