 
                            ...
This noncompliant code example, however, does comply with ERR30-C. Only inspect errno after calling functions known to use errno to report errorsSet errno to zero before calling a library function known to set errno, and check errno only after the function returns a value indicating failure.
Compliant Solution
In this compliant solution, the opener() function returns a value of type errno_t, providing a clear indication that this function returns an error code.
...