From 5d3a1ecbbe1d0a97d12c1699c720c3ce7c079a3a Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Tue, 29 Jul 2008 12:45:21 +0200 Subject: [PATCH] Locations without columns for command line arguments. * src/location.c (location_print): Don't display negative columns. * src/location.h: Document this. (cherry picked from commit 56c5eca97359ecc15481c6b9dff8f34c63219d70) --- ChangeLog | 6 ++++++ src/location.c | 10 ++++++---- src/location.h | 12 ++++++++---- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 92166b09..0bebbdfd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-11-07 Akim Demaille + + Locations without columns for command line arguments. + * src/location.c (location_print): Don't display negative columns. + * src/location.h: Document this. + 2009-02-03 Joel E. Denny Add reminder about uploading public key to keys.gnupg.net. diff --git a/src/location.c b/src/location.c index 57adf188..98627a55 100644 --- a/src/location.c +++ b/src/location.c @@ -1,5 +1,5 @@ /* Locations for Bison - Copyright (C) 2002, 2005, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2002, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -101,9 +101,11 @@ void location_print (FILE *out, location loc) { int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0; - fprintf (out, "%s:%d.%d", + fprintf (out, "%s:%d", quotearg_n_style (3, escape_quoting_style, loc.start.file), - loc.start.line, loc.start.column); + loc.start.line); + if (0 <= loc.start.column) + fprintf (out, ".%d", loc.start.column); if (loc.start.file != loc.end.file) fprintf (out, "-%s:%d.%d", @@ -111,7 +113,7 @@ location_print (FILE *out, location loc) loc.end.line, end_col); else if (loc.start.line < loc.end.line) fprintf (out, "-%d.%d", loc.end.line, end_col); - else if (loc.start.column < end_col) + else if (0 <= loc.start.column && loc.start.column < end_col) fprintf (out, "-%d", end_col); } diff --git a/src/location.h b/src/location.h index 785947ef..efd256dd 100644 --- a/src/location.h +++ b/src/location.h @@ -1,5 +1,5 @@ /* Locations for Bison - Copyright (C) 2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -31,9 +31,13 @@ typedef struct If this is INT_MAX, the line number has overflowed. */ int line; - /* The (origin-1) column just after the boundary. This is neither a - byte count, nor a character count; it is a column count. - If this is INT_MAX, the column number has overflowed. */ + /* If nonnegative, the (origin-1) column just after the boundary. + This is neither a byte count, nor a character count; it is a + column count. If this is INT_MAX, the column number has + overflowed. + + Meaningless and not displayed if negative. + */ int column; } boundary; -- 2.45.2