Пишу несколько либ, которые потом используются в общем проекте, но могут, естественно, линковаться и по-отдельности. В каждой есть свой набор кодов ошибок, многие из которых, однако, пересекаются. Например, часто встречается что-то вроде CORRUPT_MESSAGE, OUT_OF_MEMORY и т.п. Есть ли стратегия, позволяющая избежать дублирования кодов ошибок?
В порядке дискуссии, может вообще стоит перейти на более продвинутую обработку ошибок, вроде метода OpenSSL, setjmp/longjmp или еще чего-нибудь?