summaryrefslogtreecommitdiff
path: root/src/pmview/error.cpp
blob: c5981d3e6ab1b9128da2a5e8b3d3404300fed7fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
 * Copyright (c) 1995-2001 Silicon Graphics, Inc.  All Rights Reserved.
 * Copyright (c) 2009 Aconex.  All Rights Reserved.
 * 
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation; either version 2 of the License, or (at your
 * option) any later version.
 * 
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * for more details.
 */
#include "main.h"

int errorCount;
int lineNum;

void
yywarn(const char *s)
{
    const char * fmt =  theConfigName.length() ? "%s: warning - %s(%d): %s\n":
					   "%s: warning - line %3$d: %4$s\n";
    const char * config = (const char *)theConfigName.toAscii();

    pmprintf(fmt, pmProgname, config, lineNum+1, s);
    pmflush();
}

void
yyerror(const char *s)
{
    const char * fmt =  theConfigName.length() ? "%s: error - %s(%d): %s\n":
					   "%s: error - line %3$d: %4$s\n";
    const char * config = (const char *)theConfigName.toAscii();
    const char badeof[] = "unexpected end of file";

    markpos();
    if (!locateError())
	s = (char *)badeof;
	
    pmprintf(fmt, pmProgname, config, lineNum+1, s);
    pmflush();
    errorCount++; /* It's used in pmview.cpp to abort the execution */
}