tree cf1af3b0281bf8962f503bfebca60b3e6fddbe4d
parent f52cada8b4004768fb8458d45265da90e9632daf
author Przemyslaw Marczak <p.marczak@samsung.com> 1412801317 +0200
committer Simon Glass <sjg@chromium.org> 1418329121 -0700

lib: errno: introduce errno_str(): returns errno related message

The functions error's numbers are standarized - but the error
messages are not.

The errors are often handled with unclear error messages,
so why not use an errno standarized messages.

Advantages:
- This could decrease the binary size.
- Appended with a detailed information,
  the error message will be clear.

This commit introduces new function:
- const char *errno_to_str(int errno)

The functions returns a pointer to the errno corresponding text message:
- if errno is null or positive number - a pointer to "Success" message
- if errno is negative - a pointer to errno related message

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Reviewed-by: Tom Rini <trini@ti.com>
