aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/listing.c10
2 files changed, 11 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index cd9149d..a4f7300 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-09 Alan Modra <amodra@gmail.com>
+
+ PR gas/11356
+ * listing.c (listing_newline): Correct backslash quote logic.
+
2010-03-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/tc-i386.h [TE_SOLARIS] (ELF_TARGET_FORMAT): Define.
diff --git a/gas/listing.c b/gas/listing.c
index 9a71c76..002b3c5 100644
--- a/gas/listing.c
+++ b/gas/listing.c
@@ -347,10 +347,12 @@ listing_newline (char *ps)
|| is_end_of_line [(unsigned char) *copy] != 1);
copy++)
{
- if (*copy == '\\')
- seen_slash = ! seen_slash;
- else if (*copy == '"' && seen_slash)
- seen_quote = ! seen_quote;
+ if (seen_slash)
+ seen_slash = 0;
+ else if (*copy == '\\')
+ seen_slash = 1;
+ else if (*copy == '"')
+ seen_quote = !seen_quote;
}
len = copy - input_line_pointer + 1;