From f8ef9cd77b9d86a52f9aebbaf83937072792e62d Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Mon, 16 Oct 2006 12:02:40 +0000 Subject: [PATCH] * input-scrub.c (input_scrub_next_buffer): Use TC_EOL_IN_INSN in addition to testing for '\n'. (TC_EOL_IN_INSN): Provide a default definition if necessary. --- gas/ChangeLog | 6 ++++++ gas/input-scrub.c | 13 ++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index d7681b7dbf..72738971b0 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2006-10-16 Bernd Schmidt + + * input-scrub.c (input_scrub_next_buffer): Use TC_EOL_IN_INSN + in addition to testing for '\n'. + (TC_EOL_IN_INSN): Provide a default definition if necessary. + 2006-10-13 Sterling Augstine * dwarf2dbg.c (out_debug_info): Use TC_DWARF2_EMIT_OFFSET to emit diff --git a/gas/input-scrub.c b/gas/input-scrub.c index 7407741b3f..9efea1100e 100644 --- a/gas/input-scrub.c +++ b/gas/input-scrub.c @@ -56,6 +56,10 @@ #define BEFORE_SIZE (1) #define AFTER_SIZE (1) +#ifndef TC_EOL_IN_INSN +#define TC_EOL_IN_INSN(P) 0 +#endif + static char *buffer_start; /*->1st char of full buffer area. */ static char *partial_where; /*->after last full line in buffer. */ static int partial_size; /* >=0. Number of chars in partial line in buffer. */ @@ -341,8 +345,9 @@ input_scrub_next_buffer (char **bufp) if (limit) { register char *p; /* Find last newline. */ - - for (p = limit - 1; *p != '\n'; --p) + /* Terminate the buffer to avoid confusing TC_EOL_IN_INSN. */ + *limit = '\0'; + for (p = limit - 1; *p != '\n' || TC_EOL_IN_INSN (p); --p) ; ++p; @@ -368,7 +373,9 @@ input_scrub_next_buffer (char **bufp) return NULL; } - for (p = limit - 1; *p != '\n'; --p) + /* Terminate the buffer to avoid confusing TC_EOL_IN_INSN. */ + *limit = '\0'; + for (p = limit - 1; *p != '\n' || TC_EOL_IN_INSN (p); --p) ; ++p; }