comparison dbutil.h @ 614:00eca37e47e8

Add noreturn and format attribute hints for some functions.
author Matt Johnston <matt@ucc.asn.au>
date Thu, 07 Apr 2011 12:59:18 +0000
parents 005530560594
children 2b1bb792cd4d df11cb6a3665
comparison
equal deleted inserted replaced
613:8cd04e707171 614:00eca37e47e8
31 31
32 #ifndef DISABLE_SYSLOG 32 #ifndef DISABLE_SYSLOG
33 void startsyslog(); 33 void startsyslog();
34 #endif 34 #endif
35 35
36 extern void (*_dropbear_exit)(int exitcode, const char* format, va_list param); 36 #ifdef __GNUC__
37 #define ATTRIB_PRINTF(fmt,args) __attribute__((format(printf, fmt, args)))
38 #else
39 #define ATTRIB_PRINTF(fmt,args)
40 #endif
41
42 #ifdef __GNUC__
43 #define ATTRIB_NORETURN __attribute__((noreturn))
44 #else
45 #define ATTRIB_NORETURN
46 #endif
47
48 extern void (*_dropbear_exit)(int exitcode, const char* format, va_list param) ATTRIB_NORETURN;
37 extern void (*_dropbear_log)(int priority, const char* format, va_list param); 49 extern void (*_dropbear_log)(int priority, const char* format, va_list param);
38 50
39 void dropbear_exit(const char* format, ...); 51 void dropbear_exit(const char* format, ...) ATTRIB_PRINTF(1,2) ATTRIB_NORETURN;
40 void dropbear_close(const char* format, ...); 52
41 void dropbear_log(int priority, const char* format, ...); 53 void dropbear_close(const char* format, ...) ATTRIB_PRINTF(1,2) ;
42 void fail_assert(const char* expr, const char* file, int line); 54 void dropbear_log(int priority, const char* format, ...) ATTRIB_PRINTF(2,3) ;
55
56 void fail_assert(const char* expr, const char* file, int line) ATTRIB_NORETURN;
57
43 #ifdef DEBUG_TRACE 58 #ifdef DEBUG_TRACE
44 void dropbear_trace(const char* format, ...); 59 void dropbear_trace(const char* format, ...) ATTRIB_PRINTF(1,2);
45 void printhex(const char * label, const unsigned char * buf, int len); 60 void printhex(const char * label, const unsigned char * buf, int len);
46 extern int debug_trace; 61 extern int debug_trace;
47 #endif 62 #endif
63
48 char * stripcontrol(const char * text); 64 char * stripcontrol(const char * text);
49 void get_socket_address(int fd, char **local_host, char **local_port, 65 void get_socket_address(int fd, char **local_host, char **local_port,
50 char **remote_host, char **remote_port, int host_lookup); 66 char **remote_host, char **remote_port, int host_lookup);
51 void getaddrstring(struct sockaddr_storage* addr, 67 void getaddrstring(struct sockaddr_storage* addr,
52 char **ret_host, char **ret_port, int host_lookup); 68 char **ret_host, char **ret_port, int host_lookup);