other: get rid of goto, rename RETURN_AND_SET_ERROR_STRING macro