]> git.saurik.com Git - bison.git/commitdiff
Locations without columns for command line arguments.
authorAkim Demaille <demaille@gostai.com>
Tue, 29 Jul 2008 10:45:21 +0000 (12:45 +0200)
committerAkim Demaille <demaille@gostai.com>
Fri, 7 Nov 2008 20:38:23 +0000 (21:38 +0100)
* src/location.c (location_print): Don't display negative columns.
* src/location.h: Document this.

ChangeLog
src/location.c
src/location.h

index 9561d4ea80d2a7a2692312854f34083bf0abed45..bf6b6d8aa9cd089e68d6c9cb1ff7b10baf460989 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Locations without columns for command line arguments.
+       * src/location.c (location_print): Don't display negative columns.
+       * src/location.h: Document this.
+
 2008-11-07  Akim Demaille  <demaille@gostai.com>
 
        Fix --help.
index 57adf1882073fef954f01f14e554c9a4406f9f7c..98627a559c2c02204d43c55e33b422dd7b12f412 100644 (file)
@@ -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);
 }
 
index 785947ef0a738923c045d7d562619219ea11e5a8..efd256dd9529b40f10c15d2479073f34a8378136 100644 (file)
@@ -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;