mirror of
https://git.proxmox.com/git/libgit2
synced 2025-06-26 17:29:58 +00:00
errors: Add error handling function
This commit is contained in:
parent
cfba137707
commit
02f9e637a1
@ -35,6 +35,7 @@
|
|||||||
|
|
||||||
#if defined(__APPLE__) && defined(__MACH__)
|
#if defined(__APPLE__) && defined(__MACH__)
|
||||||
# undef GIT_TLS
|
# undef GIT_TLS
|
||||||
|
# define GIT_TLS
|
||||||
|
|
||||||
#elif defined(__GNUC__) || \
|
#elif defined(__GNUC__) || \
|
||||||
defined(__SUNPRO_C) || \
|
defined(__SUNPRO_C) || \
|
||||||
|
@ -56,4 +56,6 @@ typedef SSIZE_T ssize_t;
|
|||||||
|
|
||||||
#define GIT_PATH_MAX 4096
|
#define GIT_PATH_MAX 4096
|
||||||
|
|
||||||
|
extern int git__error(int error, const char *, ...) GIT_FORMAT_PRINTF(2, 3);
|
||||||
|
|
||||||
#endif /* INCLUDE_common_h__ */
|
#endif /* INCLUDE_common_h__ */
|
||||||
|
40
src/errors.c
40
src/errors.c
@ -1,6 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* This file is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License, version 2,
|
||||||
|
* as published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* In addition to the permissions in the GNU General Public License,
|
||||||
|
* the authors give you unlimited permission to link the compiled
|
||||||
|
* version of this file into combinations with other programs,
|
||||||
|
* and to distribute those combinations without any restriction
|
||||||
|
* coming from the use of this file. (The General Public License
|
||||||
|
* restrictions do apply in other respects; for example, they cover
|
||||||
|
* modification of the file, and distribution when not linked into
|
||||||
|
* a combined executable.)
|
||||||
|
*
|
||||||
|
* This file is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; see the file COPYING. If not, write to
|
||||||
|
* the Free Software Foundation, 51 Franklin Street, Fifth Floor,
|
||||||
|
* Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include "git2/thread-utils.h" /* for GIT_TLS */
|
||||||
#include "thread-utils.h" /* for GIT_TLS */
|
#include "thread-utils.h" /* for GIT_TLS */
|
||||||
|
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
int num;
|
int num;
|
||||||
const char *str;
|
const char *str;
|
||||||
@ -46,3 +73,16 @@ const char *git_strerror(int num)
|
|||||||
|
|
||||||
return "Unknown error";
|
return "Unknown error";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static GIT_TLS char g_last_error[1024];
|
||||||
|
|
||||||
|
int git__error(int error, const char *msg, ...)
|
||||||
|
{
|
||||||
|
va_list va;
|
||||||
|
|
||||||
|
va_start(va, msg);
|
||||||
|
vsnprintf(g_last_error, sizeof(g_last_error), msg, va);
|
||||||
|
va_end(va);
|
||||||
|
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user