I have done a lot of C programming in the past. And I really apreciated the error code return value. But is has several possible pitfalls:
- Duplicate error numbers, this can be solved with a global errors.h file.
- Forgetting to check the error code, this should be solved with a cluebat and long debugging hours. But in the end you will learn (or you will know that someone else will do the debugging).