PR 3958
[deliverable/binutils-gdb.git] / gas / input-scrub.c
index 7407741b3fa538c398f60e12cc9d3818abafb335..9efea1100e2a68c004c087f93fa80d9235e4e5b5 100644 (file)
 #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;
        }
This page took 0.05602 seconds and 4 git commands to generate.