res was declared as “bool” so expression ((count == 0) ? A2D_SET_ONE_BIT : A2D_SET_MULTL_BIT) always evaluated to “true”, and was implicitly converted to A2D_SET_ONE_BIT.