d2d66333ed8d4579ec264662e58704a92f467732
[platform/upstream/groff.git] / src / libs / libgroff / assert.cpp
1 /* Copyright (C) 1989-2014  Free Software Foundation, Inc.
2      Written by James Clark (jjc@jclark.com)
3
4 This file is part of groff.
5
6 groff is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free
8 Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 groff is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>. */
18
19 #include <stdio.h>
20 #include <stdlib.h>
21 #include "assert.h"
22
23 extern "C" const char *program_name;
24
25 void assertion_failed(int lineno, const char *filename)
26 {
27   if (program_name != 0)
28     fprintf(stderr, "%s: ", program_name);
29   fprintf(stderr, "Failed assertion at line %d, file `%s'.\n",
30           lineno, filename);
31   fflush(stderr);
32   abort();
33 }