Actually more of an API horror. Am using a product's internal API and there are two routines that would be commonly be used together. One of them returns 0 if it worked, and non-zero if it failed. The other one returns 0 if it failed, and non zero if it worked. Was this really necessary?