/* * AUTHOR * N. Nielsen * * LICENSE * This software is in the public domain. * * The software is provided "as is", without warranty of any kind, * express or implied, including but not limited to the warranties * of merchantability, fitness for a particular purpose, and * noninfringement. In no event shall the author(s) be liable for any * claim, damages, or other liability, whether in an action of * contract, tort, or otherwise, arising from, out of, or in connection * with the software or the use or other dealings in the software. * * SUPPORT * Send bug reports to: */ #ifndef __USUALS_H__20000613 #define __USUALS_H__20000613 #include #include #include #include #include #include #define zero(v) (memset(&(v), 0, sizeof((v)))) #define countof(a) (sizeof(a) / sizeof(a[0])) #ifndef max #define max(a,b) (((a) > (b)) ? (a) : (b)) #endif #ifndef min #define min(a,b) (((a) < (b)) ? (a) : (b)) #endif #ifndef ASSERT #include #define ASSERT assert #endif #ifndef ASSERT_PTR #ifdef _WIN32 #define WIN32_LEAN_AND_MEAN #include #define ASSERT_PTR_LEN(p, len) ASSERT(!(IsBadReadPtr((p), len) || IsBadWritePtr((p), len))) #else #define ASSERT_PTR_LEN(p, len) ASSERT((p) != 0) #endif #define ASSERT_PTR(p) ASSERT_PTR_LEN(p, sizeof(*(p))) #endif #endif //__USUALS_H__20000613