X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=common.h;h=ec7913ea4b13853d1880611bf02e877348f476d8;hb=bc662e293c854e1bdc9d46e9a410fe220247e6d4;hp=dd6f034bc9171fa9dd67e5d73d52e0ef7550de13;hpb=b0a8ea303e942930350bf85c860afc969442c7a4;p=chaz%2Frasterize diff --git a/common.h b/common.h index dd6f034..ec7913e 100644 --- a/common.h +++ b/common.h @@ -15,6 +15,8 @@ #include #include +#include "config.h" + /* * Define a keyword for use while defining small and fast functions. @@ -118,12 +120,15 @@ int imax(int a, int b) return a < b ? b : a; } - /* - * Define some macros for packing and unpacking bytes to and from larger ints. + * Define generic MIN and MAX macros. */ -#define PACK(W,N,B) (((B) << (8 * (N))) | ((W) & ~(0xff << (8 * (N))))) -#define UNPACK(W,N) ((uint8_t)((W) >> (8 * (N))) & 0xff) +#ifndef MIN +#define MIN(A,B) (((A) < (B)) ? (A) : (B)) +#endif +#ifndef MAX +#define MAX(A,B) (((A) > (B)) ? (A) : (B)) +#endif /* @@ -132,11 +137,16 @@ int imax(int a, int b) * an error condition and an abort(3) occurs. * return. */ +#if VERBOSITY >= 1 #define TRY_DO(L, K, ARGS...) \ printf("* " L "... ", ##ARGS); \ fflush(stdout); \ if ((K) == 0) printf("done!\n"); \ else abort() +#else +#define TRY_DO(L, K, ARGS...) \ +if ((K) != 0) abort() +#endif /* @@ -239,10 +249,11 @@ void ltrim(char *str); * Trim white space off of both sides of a string. */ INLINE_MAYBE -void trim(char *str) +char* trim(char *str) { rtrim(str); ltrim(str); + return str; }