# HG changeset patch # User mroi # Date 1105800170 0 # Node ID 0f055e94eb9cae79aa69dd94d61cb764cfe3c7e9 # Parent 0340d22362196afd488cec0a13f53e53f0676bd3 * fix the printerr() macros * add Bastien's typo-protection for debug install target diff -r 0340d2236219 -r 0f055e94eb9c dvdnav_internal.h --- a/dvdnav_internal.h Mon Jan 03 20:24:21 2005 +0000 +++ b/dvdnav_internal.h Sat Jan 15 14:42:50 2005 +0000 @@ -186,14 +186,18 @@ /** USEFUL MACROS **/ #ifdef __GNUC__ -#define printerrf(format, args...) snprintf(this->err_str, MAX_ERR_LEN, format, ## args); +#define printerrf(format, args...) \ + do { if (this) snprintf(this->err_str, MAX_ERR_LEN, format, ## args); } while (0) #else #ifdef _MSC_VER -#define printerrf(str) snprintf(this->err_str, MAX_ERR_LEN, str); +#define printerrf(str) \ + do { if (this) snprintf(this->err_str, MAX_ERR_LEN, str); } while (0) #else -#define printerrf(...) snprintf(this->err_str, MAX_ERR_LEN, __VA_ARGS__); +#define printerrf(...) \ + do { if (this) snprintf(this->err_str, MAX_ERR_LEN, __VA_ARGS__); } while (0) #endif /* WIN32 */ #endif -#define printerr(str) strncpy(this->err_str, str, MAX_ERR_LEN); +#define printerr(str) \ + do { if (this) strncpy(this->err_str, str, MAX_ERR_LEN); } while (0) #endif /* DVDNAV_INTERNAL_H_INCLUDED */