Add a warning interface to rust_srv.
This commit is contained in:
committed by
Graydon Hoare
parent
6afb6c767e
commit
d786469785
@@ -94,6 +94,16 @@ rust_srv::fatal(char const *expr, char const *file, size_t line)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
rust_srv::warning(char const *expr, char const *file, size_t line)
|
||||||
|
{
|
||||||
|
char buf[1024];
|
||||||
|
snprintf(buf, sizeof(buf),
|
||||||
|
"warning: '%s', at: %s:%d",
|
||||||
|
expr, file, (int)line);
|
||||||
|
log(buf);
|
||||||
|
}
|
||||||
|
|
||||||
rust_srv *
|
rust_srv *
|
||||||
rust_srv::clone()
|
rust_srv::clone()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ struct rust_srv {
|
|||||||
|
|
||||||
virtual void log(char const *);
|
virtual void log(char const *);
|
||||||
virtual void fatal(char const *, char const *, size_t);
|
virtual void fatal(char const *, char const *, size_t);
|
||||||
|
virtual void warning(char const *, char const *, size_t);
|
||||||
virtual void *malloc(size_t);
|
virtual void *malloc(size_t);
|
||||||
virtual void *realloc(void *, size_t);
|
virtual void *realloc(void *, size_t);
|
||||||
virtual void free(void *);
|
virtual void free(void *);
|
||||||
|
|||||||
@@ -46,6 +46,8 @@ extern "C" {
|
|||||||
|
|
||||||
#define I(dom, e) ((e) ? (void)0 : \
|
#define I(dom, e) ((e) ? (void)0 : \
|
||||||
(dom)->srv->fatal(#e, __FILE__, __LINE__))
|
(dom)->srv->fatal(#e, __FILE__, __LINE__))
|
||||||
|
#define W(dom, e, s) ((e) ? (void)0 : \
|
||||||
|
(dom)->srv->warning(#e " : " #s, __FILE__, __LINE__))
|
||||||
|
|
||||||
#define A(dom, e, s) ((e) ? (void)0 : \
|
#define A(dom, e, s) ((e) ? (void)0 : \
|
||||||
(dom)->srv->fatal(#e " : " #s, __FILE__, __LINE__))
|
(dom)->srv->fatal(#e " : " #s, __FILE__, __LINE__))
|
||||||
|
|||||||
Reference in New Issue
Block a user