aboutsummaryrefslogtreecommitdiff
path: root/gas/macro.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2022-12-05 13:50:27 +0100
committerJan Beulich <jbeulich@suse.com>2022-12-05 13:50:27 +0100
commitfde7a8e4b007a29c7196fd5b017342899c367c00 (patch)
tree991c347b430ab11381a5655fd0059a98c900b3cd /gas/macro.c
parent07aeb917c4d379e8fca611aa7346e977a4061e17 (diff)
downloadgdb-fde7a8e4b007a29c7196fd5b017342899c367c00.zip
gdb-fde7a8e4b007a29c7196fd5b017342899c367c00.tar.gz
gdb-fde7a8e4b007a29c7196fd5b017342899c367c00.tar.bz2
gas: avoid inserting extra newline in buffer_and_nest()
In "-alm" listings I've noticed an odd blank line following the inserted .linefile one. This results from the explicit NL inserted being redundant with the one left in place from the original input line by all respective callers. Note that we need to compensate for the removed line by bumping the directive argument (which in turn is decremented again in s_linefile() before calling new_logical_line_flags(), and I have to confess that when putting together the original change I was a little puzzled by the imbalance of increments/decrements, but then I forgot to actually go look for the cause). While there also switch to sb_add_string() instead of effectively open- coding it to some degree.
Diffstat (limited to 'gas/macro.c')
-rw-r--r--gas/macro.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gas/macro.c b/gas/macro.c
index c2a4768..3d5774e 100644
--- a/gas/macro.c
+++ b/gas/macro.c
@@ -142,10 +142,10 @@ buffer_and_nest (const char *from, const char *to, sb *ptr,
as_where (&line);
if (!flag_m68k_mri)
- linefile = xasprintf ("\t.linefile %u .\n", line);
+ linefile = xasprintf ("\t.linefile %u .", line + 1);
else
- linefile = xasprintf ("\tlinefile %u .\n", line);
- sb_add_buffer (ptr, linefile, strlen (linefile));
+ linefile = xasprintf ("\tlinefile %u .", line + 1);
+ sb_add_string (ptr, linefile);
xfree (linefile);
}