version 1.1, 2018/12/14 01:18:26 |
version 1.6, 2019/03/06 15:55:38 |
|
|
/* $OpenBSD$ */ |
/* $Id$ */ |
/* |
/* |
* Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2014,2015,2016,2017,2018 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2014,2015,2016,2017,2018 Ingo Schwarze <schwarze@openbsd.org> |
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
*/ |
*/ |
|
#include "config.h" |
|
|
#include <stdarg.h> |
#include <stdarg.h> |
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
Line 167 static const char *const type_message[MANDOCERR_MAX] = |
|
Line 169 static const char *const type_message[MANDOCERR_MAX] = |
|
"tab in filled text", |
"tab in filled text", |
"new sentence, new line", |
"new sentence, new line", |
"invalid escape sequence", |
"invalid escape sequence", |
|
"undefined escape, printing literally", |
"undefined string, using \"\"", |
"undefined string, using \"\"", |
|
|
/* related to tables */ |
/* related to tables */ |
Line 228 static const char *const type_message[MANDOCERR_MAX] = |
|
Line 231 static const char *const type_message[MANDOCERR_MAX] = |
|
"unsupported feature", |
"unsupported feature", |
"input too large", |
"input too large", |
"unsupported control character", |
"unsupported control character", |
|
"unsupported escape sequence", |
"unsupported roff request", |
"unsupported roff request", |
"nested .while loops", |
"nested .while loops", |
"end of scope with open .while loop", |
"end of scope with open .while loop", |
Line 238 static const char *const type_message[MANDOCERR_MAX] = |
|
Line 242 static const char *const type_message[MANDOCERR_MAX] = |
|
"ignoring macro in table", |
"ignoring macro in table", |
}; |
}; |
|
|
static FILE *fileptr = stderr; |
static FILE *fileptr = NULL; |
static const char *filename = NULL; |
static const char *filename = NULL; |
static enum mandocerr min_type = MANDOCERR_MAX; |
static enum mandocerr min_type = MANDOCERR_MAX; |
static enum mandoclevel rc = MANDOCLEVEL_OK; |
static enum mandoclevel rc = MANDOCLEVEL_OK; |
Line 288 mandoc_msg_setrc(enum mandoclevel level) |
|
Line 292 mandoc_msg_setrc(enum mandoclevel level) |
|
} |
} |
|
|
void |
void |
mandoc_vmsg(enum mandocerr t, void *dummy, int line, int col, |
mandoc_msg(enum mandocerr t, int line, int col, const char *fmt, ...) |
const char *fmt, ...) |
|
{ |
{ |
va_list ap; |
va_list ap; |
enum mandoclevel level; |
enum mandoclevel level; |
Line 323 mandoc_vmsg(enum mandocerr t, void *dummy, int line, i |
|
Line 326 mandoc_vmsg(enum mandocerr t, void *dummy, int line, i |
|
va_end(ap); |
va_end(ap); |
} |
} |
fputc('\n', fileptr); |
fputc('\n', fileptr); |
} |
|
|
|
void |
|
mandoc_msg(enum mandocerr t, void *dummy, int line, int col, const char *msg) |
|
{ |
|
if (msg == NULL) |
|
mandoc_vmsg(t, dummy, line, col, NULL); |
|
else |
|
mandoc_vmsg(t, dummy, line, col, "%s", msg); |
|
} |
} |