/* ldmisc.c
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support.
while (*fmt != '\0')
{
+ const char *str = fmt;
while (*fmt != '%' && *fmt != '\0')
- {
- putc (*fmt, fp);
- fmt++;
- }
+ fmt++;
+ if (fmt != str)
+ if (fwrite (str, 1, fmt - str, fp))
+ {
+ /* Ignore. */
+ }
if (*fmt == '%')
{
case 'S':
/* Print script file and linenumber. */
{
- node_type node;
+ etree_type node;
etree_type *tp = va_arg (arg, etree_type *);
if (tp == NULL)
{
- tp = (etree_type *) &node;
+ tp = &node;
tp->type.filename = ldlex_filename ();
tp->type.lineno = lineno;
}
/* The GNU Coding Standard requires that error messages
be of the form:
-
+
source-file-name:lineno: message
We do not always have a line number available so if
if (functionname != NULL && fmt[-1] == 'G')
lfinfo (fp, "%T", functionname);
else if (filename != NULL && linenumber != 0)
- fprintf (fp, "%u%s", linenumber, ":" + done);
+ fprintf (fp, "%u%s", linenumber, done ? "" : ":");
else
done = FALSE;
}