This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] Add plugin interface to LD [1/4] Infrastructure.
- From: Dave Korn <dave dot korn dot cygwin at gmail dot com>
- To: Richard Henderson <rth at redhat dot com>, Dave Korn <dave dot korn dot cygwin at gmail dot com>, "binutils at sourceware dot org" <binutils at sourceware dot org>, richard dot sandiford at linaro dot org
- Date: Tue, 12 Oct 2010 12:34:59 +0100
- Subject: Re: [PATCH] Add plugin interface to LD [1/4] Infrastructure.
- References: <4C9AE5CA.80707@gmail.com> <4C9AE625.8030904@gmail.com> <4CACE2C8.8050202@redhat.com> <g439sb7qw5.fsf@richards-desktop.stglab.manchester.uk.ibm.com>
On 12/10/2010 09:32, Richard Sandiford wrote:
> Richard Henderson <rth@redhat.com> writes:
>>> + {
>>> + char *newfmt = xmalloc (strlen (format) + 3);
>>> + newfmt[0] = '%';
>>> + newfmt[1] = (level == LDPL_FATAL) ? 'F' : 'X';
>>> + strcpy (&newfmt[2], format);
>>> + vfinfo (stderr, newfmt, args, TRUE);
>>> + }
>> Probably better as
>>
>> newfmt = concat ((level == LDPL_FATAL ? "%F" : "%X"),
>> format, NULL);
>
> Plugging my favourite libiberty macro, there's also ACONCAT ((...))
> (which avoids the malloc and free). Should be safe for the kinds
> of string lengths we're talking about here.
It's been years since we had to worry about alloca portability, hasn't it?
I'll use it!
cheers,
DaveK