From 98f4fcb5ba1819ace7cfe6ad4ac9fdc4e7754ba9 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 19 Feb 2016 20:18:50 +0300 Subject: Add noreturn attributes. Also add compiler flag for check for missing noreturn attributes. --- src/char/inter.h | 2 +- src/char/loginif.c | 1 + src/map/chrif.c | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/char/inter.h b/src/char/inter.h index 49eca1256..b8bcb2def 100644 --- a/src/char/inter.h +++ b/src/char/inter.h @@ -37,7 +37,7 @@ struct inter_interface { void (*do_final_msg) (void); const char* (*job_name) (int class_); void (*vmsg_to_fd) (int fd, int u_fd, int aid, char* msg, va_list ap); - void (*msg_to_fd) (int fd, int u_fd, int aid, char *msg, ...); + void (*msg_to_fd) (int fd, int u_fd, int aid, char *msg, ...) __attribute__((format(printf, 4, 5))); void (*savereg) (int account_id, int char_id, const char *key, unsigned int index, intptr_t val, bool is_string); int (*accreg_fromsql) (int account_id,int char_id, int fd, int type); int (*config_read) (const char* cfgName); diff --git a/src/char/loginif.c b/src/char/loginif.c index c577ad791..1e457fcca 100644 --- a/src/char/loginif.c +++ b/src/char/loginif.c @@ -39,6 +39,7 @@ struct loginif_interface loginif_s; struct loginif_interface *loginif; /// Resets all the data. +void loginif_reset(void) __attribute__ ((noreturn)); void loginif_reset(void) { int id; diff --git a/src/map/chrif.c b/src/map/chrif.c index 412d8d36a..4de82ef07 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -110,7 +110,9 @@ struct chrif_interface *chrif; #define chrif_check(a) do { if(!chrif->isconnected()) return a; } while(0) /// Resets all the data. -void chrif_reset(void) { +void chrif_reset(void) __attribute__ ((noreturn)); +void chrif_reset(void) +{ // TODO kick everyone out and reset everything [FlavioJS] exit(EXIT_FAILURE); } -- cgit v1.2.3-70-g09d2