1 #ifndef IREL_LASSO_HPP 2 #define IREL_LASSO_HPP 3 4 #include "iRel.h" 5 6 #define RETURN(CODE) ERROR((CODE), "") 7 #define RETURNR(CODE) ERRORR((CODE), "") 8 9 #define ERROR(CODE, MSG) \ 10 do { \ 11 *err = LASSOI->set_last_error((CODE), (MSG)); \ 12 return; \ 13 } while(false) 14 15 #define ERRORR(CODE, MSG) return LASSOI->set_last_error((CODE), (MSG)) 16 17 #define CHK_ERROR(CODE) \ 18 do { \ 19 *err = (CODE); \ 20 if (*err != iBase_SUCCESS) \ 21 return; \ 22 } while(false) 23 24 #define CHK_ERRORR(CODE) \ 25 do { \ 26 int err = (CODE); \ 27 if (err != iBase_SUCCESS) \ 28 return err; \ 29 } while(false) 30 31 #define CHK_PAIR() \ 32 do { \ 33 if (NULL == pair) { \ 34 ERROR(iBase_FAILURE, "Invalid relation pair."); \ 35 } \ 36 } while(false) 37 38 #endif 39