diff options
-rw-r--r-- | include/sqfs/error.h | 12 | ||||
-rw-r--r-- | lib/common/perror.c | 3 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/sqfs/error.h b/include/sqfs/error.h index 77e33ed..055e98f 100644 --- a/include/sqfs/error.h +++ b/include/sqfs/error.h @@ -133,6 +133,18 @@ typedef enum { * @brief An invalid argument was passed to a library function. */ SQFS_ERROR_ARG_INVALID = -16, + + /** + * @brief Library functions were called an a nonsensical order. + * + * Some libsquashfs functions operate on an object with an internal + * state. Depending on the state, calling a function might not make + * sense at all (e.g. calling foo_end before foo_begin). In that case, + * this error is returned, signifying to the caller that the sequence + * makes not sense, but the object itself is unchanged, no action was + * performed and the object can still be used. + */ + SQFS_ERROR_SEQUENCE = -17, } E_SQFS_ERROR; #endif /* SQFS_ERROR_H */ diff --git a/lib/common/perror.c b/lib/common/perror.c index a0a86aa..c7dab08 100644 --- a/lib/common/perror.c +++ b/lib/common/perror.c @@ -61,6 +61,9 @@ void sqfs_perror(const char *file, const char *action, int error_code) case SQFS_ERROR_ARG_INVALID: errstr = "invalid argument"; break; + case SQFS_ERROR_SEQUENCE: + errstr = "illegal oder of operations"; + break; default: errstr = "libsquashfs returned an unknown error code"; break; |