use macros for assignments to ci->err