pspp-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pspp-cvs] Changes to pspp/src/lexer.c


From: Ben Pfaff
Subject: [Pspp-cvs] Changes to pspp/src/lexer.c
Date: Tue, 03 May 2005 02:36:19 -0400

Index: pspp/src/lexer.c
diff -u pspp/src/lexer.c:1.17 pspp/src/lexer.c:1.18
--- pspp/src/lexer.c:1.17       Mon May  2 06:21:20 2005
+++ pspp/src/lexer.c    Tue May  3 06:36:17 2005
@@ -386,11 +386,18 @@
 lex_error (const char *message, ...)
 {
   char *token_rep;
+  char where[128];
 
   token_rep = lex_token_representation ();
-  if (token_rep[0] == 0)
-    msg (SE, _("Syntax error at end of file."));
-  else if (message)
+  if (token == T_STOP)
+    strcpy (where, "end of file");
+  else if (token == '.')
+    strcpy (where, "end of command");
+  else
+    snprintf (where, sizeof where, "`%s'", token_rep);
+  free (token_rep);
+
+  if (message)
     {
       char buf[1024];
       va_list args;
@@ -399,12 +406,10 @@
       vsnprintf (buf, 1024, message, args);
       va_end (args);
 
-      msg (SE, _("Syntax error %s at `%s'."), buf, token_rep);
+      msg (SE, _("Syntax error %s at %s."), buf, where);
     }
   else
-    msg (SE, _("Syntax error at `%s'."), token_rep);
-  
-  free (token_rep);
+    msg (SE, _("Syntax error at %s."), where);
 }
 
 /* Checks that we're at end of command.
@@ -539,7 +544,7 @@
     }
   else
     {
-      lex_error (_("expecting %s"), lex_token_name (t));
+      lex_error (_("expecting `%s'"), lex_token_name (t));
       return 0;
     }
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]