From f87d9beb8d9e3ed2b6baedd9ca15464f7da93f25 Mon Sep 17 00:00:00 2001 From: Vicent Marti Date: Sun, 15 May 2011 23:46:39 +0300 Subject: [PATCH] Change error codes from DEFINEs to an enum --- include/git2/errors.h | 122 ++++++++++++++++++++---------------------- 1 file changed, 58 insertions(+), 64 deletions(-) diff --git a/include/git2/errors.h b/include/git2/errors.h index 60af7b3d0..7e957b803 100644 --- a/include/git2/errors.h +++ b/include/git2/errors.h @@ -35,97 +35,91 @@ */ GIT_BEGIN_DECL -/** Operation completed successfully. */ -#define GIT_SUCCESS 0 +typedef enum { + GIT_SUCCESS = 0, + GIT_ERROR = -1, -/** - * Operation failed, with unspecified reason. - * This value also serves as the base error code; all other - * error codes are subtracted from it such that all errors - * are < 0, in typical POSIX C tradition. - */ -#define GIT_ERROR -1 + /** Input was not a properly formatted Git object id. */ + GIT_ENOTOID = -2, -/** Input was not a properly formatted Git object id. */ -#define GIT_ENOTOID (GIT_ERROR - 1) + /** Input does not exist in the scope searched. */ + GIT_ENOTFOUND = -3, -/** Input does not exist in the scope searched. */ -#define GIT_ENOTFOUND (GIT_ERROR - 2) + /** Not enough space available. */ + GIT_ENOMEM = -4, -/** Not enough space available. */ -#define GIT_ENOMEM (GIT_ERROR - 3) + /** Consult the OS error information. */ + GIT_EOSERR = -5, -/** Consult the OS error information. */ -#define GIT_EOSERR (GIT_ERROR - 4) + /** The specified object is of invalid type */ + GIT_EOBJTYPE = -6, -/** The specified object is of invalid type */ -#define GIT_EOBJTYPE (GIT_ERROR - 5) + /** The specified repository is invalid */ + GIT_ENOTAREPO = -7, -/** The specified object has its data corrupted */ -#define GIT_EOBJCORRUPTED (GIT_ERROR - 6) + /** The object type is invalid or doesn't match */ + GIT_EINVALIDTYPE = -8, -/** The specified repository is invalid */ -#define GIT_ENOTAREPO (GIT_ERROR - 7) + /** The object cannot be written because it's missing internal data */ + GIT_EMISSINGOBJDATA = -9, -/** The object type is invalid or doesn't match */ -#define GIT_EINVALIDTYPE (GIT_ERROR - 8) + /** The packfile for the ODB is corrupted */ + GIT_EPACKCORRUPTED = -10, -/** The object cannot be written because it's missing internal data */ -#define GIT_EMISSINGOBJDATA (GIT_ERROR - 9) + /** Failed to acquire or release a file lock */ + GIT_EFLOCKFAIL = -11, -/** The packfile for the ODB is corrupted */ -#define GIT_EPACKCORRUPTED (GIT_ERROR - 10) + /** The Z library failed to inflate/deflate an object's data */ + GIT_EZLIB = -12, -/** Failed to acquire or release a file lock */ -#define GIT_EFLOCKFAIL (GIT_ERROR - 11) + /** The queried object is currently busy */ + GIT_EBUSY = -13, -/** The Z library failed to inflate/deflate an object's data */ -#define GIT_EZLIB (GIT_ERROR - 12) + /** The index file is not backed up by an existing repository */ + GIT_EBAREINDEX = -14, -/** The queried object is currently busy */ -#define GIT_EBUSY (GIT_ERROR - 13) + /** The name of the reference is not valid */ + GIT_EINVALIDREFNAME = -15, -/** The index file is not backed up by an existing repository */ -#define GIT_EBAREINDEX (GIT_ERROR - 14) + /** The specified reference has its data corrupted */ + GIT_EREFCORRUPTED = -16, -/** The name of the reference is not valid */ -#define GIT_EINVALIDREFNAME (GIT_ERROR - 15) + /** The specified symbolic reference is too deeply nested */ + GIT_ETOONESTEDSYMREF = -17, -/** The specified reference has its data corrupted */ -#define GIT_EREFCORRUPTED (GIT_ERROR - 16) + /** The pack-refs file is either corrupted or its format is not currently supported */ + GIT_EPACKEDREFSCORRUPTED = -18, -/** The specified symbolic reference is too deeply nested */ -#define GIT_ETOONESTEDSYMREF (GIT_ERROR - 17) + /** The path is invalid */ + GIT_EINVALIDPATH = -19, -/** The pack-refs file is either corrupted or its format is not currently supported */ -#define GIT_EPACKEDREFSCORRUPTED (GIT_ERROR - 18) + /** The revision walker is empty; there are no more commits left to iterate */ + GIT_EREVWALKOVER = -20, -/** The path is invalid */ -#define GIT_EINVALIDPATH (GIT_ERROR - 19) + /** The state of the reference is not valid */ + GIT_EINVALIDREFSTATE = -21, -/** The revision walker is empty; there are no more commits left to iterate */ -#define GIT_EREVWALKOVER (GIT_ERROR - 20) + /** This feature has not been implemented yet */ + GIT_ENOTIMPLEMENTED = -22, -/** The state of the reference is not valid */ -#define GIT_EINVALIDREFSTATE (GIT_ERROR - 21) + /** A reference with this name already exists */ + GIT_EEXISTS = -23, -/** This feature has not been implemented yet */ -#define GIT_ENOTIMPLEMENTED (GIT_ERROR - 22) + /** The given integer literal is too large to be parsed */ + GIT_EOVERFLOW = -24, -/** A reference with this name already exists */ -#define GIT_EEXISTS (GIT_ERROR - 23) + /** The given literal is not a valid number */ + GIT_ENOTNUM = -25, -/** The given integer literal is too large to be parsed */ -#define GIT_EOVERFLOW (GIT_ERROR - 24) + /** Streaming error */ + GIT_ESTREAM = -26, -/** The given literal is not a valid number */ -#define GIT_ENOTNUM (GIT_ERROR - 25) + /** invalid arguments to function */ + GIT_EINVALIDARGS = -27, -/** Streaming error */ -#define GIT_ESTREAM (GIT_ERROR - 26) - -/** invalid arguments to function */ -#define GIT_EINVALIDARGS (GIT_ERROR - 27) + /** The specified object has its data corrupted */ + GIT_EOBJCORRUPTED = -28, +} git_error; /** * Return a detailed error string with the latest error