Okay, wait a sec here: Why not just do this?
APR_SUCCESS | APR_STATUS_IS_SUCCESS ===> the dir is empty APR_ENOTEMPTY | APR_STATUS_IS_ENOTEMPTY ===> the dir is not empty No need for new status codes here. We have existing status codes that have the right meaning, and that cannot conflict with any true error that the function might actually need to return. -Karl