Windows: Use correct calling convention for com_err
This commit is contained in:
@@ -31,6 +31,8 @@
|
|||||||
|
|
||||||
RELDIR = lib\com_err
|
RELDIR = lib\com_err
|
||||||
|
|
||||||
|
intcflags=-DBUILD_KRB5_LIB
|
||||||
|
|
||||||
!include ../../windows/NTMakefile.w32
|
!include ../../windows/NTMakefile.w32
|
||||||
|
|
||||||
INCFILES=$(INCDIR)\com_err.h $(INCDIR)\com_right.h
|
INCFILES=$(INCDIR)\com_err.h $(INCDIR)\com_right.h
|
||||||
|
@@ -43,7 +43,7 @@
|
|||||||
struct et_list *_et_list = NULL;
|
struct et_list *_et_list = NULL;
|
||||||
|
|
||||||
|
|
||||||
const char *
|
KRB5_LIB_FUNCTION const char * KRB5_LIB_CALL
|
||||||
error_message (long code)
|
error_message (long code)
|
||||||
{
|
{
|
||||||
static char msg[128];
|
static char msg[128];
|
||||||
@@ -61,18 +61,18 @@ error_message (long code)
|
|||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
KRB5_LIB_FUNCTION int KRB5_LIB_CALL
|
||||||
init_error_table(const char **msgs, long base, int count)
|
init_error_table(const char **msgs, long base, int count)
|
||||||
{
|
{
|
||||||
initialize_error_table_r(&_et_list, msgs, count, base);
|
initialize_error_table_r(&_et_list, msgs, count, base);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void KRB5_CALLCONV
|
||||||
default_proc (const char *whoami, long code, const char *fmt, va_list args)
|
default_proc (const char *whoami, long code, const char *fmt, va_list args)
|
||||||
__attribute__((__format__(__printf__, 3, 0)));
|
__attribute__((__format__(__printf__, 3, 0)));
|
||||||
|
|
||||||
static void
|
static void KRB5_CALLCONV
|
||||||
default_proc (const char *whoami, long code, const char *fmt, va_list args)
|
default_proc (const char *whoami, long code, const char *fmt, va_list args)
|
||||||
{
|
{
|
||||||
if (whoami)
|
if (whoami)
|
||||||
@@ -86,7 +86,7 @@ default_proc (const char *whoami, long code, const char *fmt, va_list args)
|
|||||||
|
|
||||||
static errf com_err_hook = default_proc;
|
static errf com_err_hook = default_proc;
|
||||||
|
|
||||||
void
|
KRB5_LIB_FUNCTION void KRB5_LIB_CALL
|
||||||
com_err_va (const char *whoami,
|
com_err_va (const char *whoami,
|
||||||
long code,
|
long code,
|
||||||
const char *fmt,
|
const char *fmt,
|
||||||
@@ -95,7 +95,7 @@ com_err_va (const char *whoami,
|
|||||||
(*com_err_hook) (whoami, code, fmt, args);
|
(*com_err_hook) (whoami, code, fmt, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KRB5_LIB_FUNCTION void KRB5_LIB_CALL
|
||||||
com_err (const char *whoami,
|
com_err (const char *whoami,
|
||||||
long code,
|
long code,
|
||||||
const char *fmt,
|
const char *fmt,
|
||||||
@@ -107,7 +107,7 @@ com_err (const char *whoami,
|
|||||||
va_end(ap);
|
va_end(ap);
|
||||||
}
|
}
|
||||||
|
|
||||||
errf
|
KRB5_LIB_FUNCTION errf KRB5_LIB_CALL
|
||||||
set_com_err_hook (errf new)
|
set_com_err_hook (errf new)
|
||||||
{
|
{
|
||||||
errf old = com_err_hook;
|
errf old = com_err_hook;
|
||||||
@@ -120,7 +120,7 @@ set_com_err_hook (errf new)
|
|||||||
return old;
|
return old;
|
||||||
}
|
}
|
||||||
|
|
||||||
errf
|
KRB5_LIB_FUNCTION errf KRB5_LIB_CALL
|
||||||
reset_com_err_hook (void)
|
reset_com_err_hook (void)
|
||||||
{
|
{
|
||||||
return set_com_err_hook(NULL);
|
return set_com_err_hook(NULL);
|
||||||
@@ -134,7 +134,7 @@ static const char char_set[] =
|
|||||||
|
|
||||||
static char buf[6];
|
static char buf[6];
|
||||||
|
|
||||||
const char *
|
KRB5_LIB_FUNCTION const char * KRB5_LIB_CALL
|
||||||
error_table_name(int num)
|
error_table_name(int num)
|
||||||
{
|
{
|
||||||
int ch;
|
int ch;
|
||||||
@@ -156,7 +156,7 @@ error_table_name(int num)
|
|||||||
return(buf);
|
return(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KRB5_LIB_FUNCTION void KRB5_LIB_CALL
|
||||||
add_to_error_table(struct et_list *new_table)
|
add_to_error_table(struct et_list *new_table)
|
||||||
{
|
{
|
||||||
struct et_list *et;
|
struct et_list *et;
|
||||||
|
@@ -45,22 +45,52 @@
|
|||||||
#define __attribute__(X)
|
#define __attribute__(X)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef void (*errf) (const char *, long, const char *, va_list);
|
#ifndef KRB5_LIB
|
||||||
|
#ifndef KRB5_LIB_FUNCTION
|
||||||
|
#if defined(_WIN32)
|
||||||
|
#define KRB5_LIB_FUNCTION __declspec(dllimport)
|
||||||
|
#define KRB5_LIB_CALL __stdcall
|
||||||
|
#define KRB5_LIB_VARIABLE __declspec(dllimport)
|
||||||
|
#else
|
||||||
|
#define KRB5_LIB_FUNCTION
|
||||||
|
#define KRB5_LIB_CALL
|
||||||
|
#define KRB5_LIB_VARIABLE
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
const char * error_message (long);
|
#ifdef _WIN32
|
||||||
int init_error_table (const char**, long, int);
|
#define KRB5_CALLCONV __stdcall
|
||||||
|
#else
|
||||||
|
#define KRB5_CALLCONV
|
||||||
|
#endif
|
||||||
|
|
||||||
void com_err_va (const char *, long, const char *, va_list)
|
typedef void (KRB5_CALLCONV *errf) (const char *, long, const char *, va_list);
|
||||||
|
|
||||||
|
KRB5_LIB_FUNCTION const char * KRB5_LIB_CALL
|
||||||
|
error_message (long);
|
||||||
|
|
||||||
|
KRB5_LIB_FUNCTION int KRB5_LIB_CALL
|
||||||
|
init_error_table (const char**, long, int);
|
||||||
|
|
||||||
|
KRB5_LIB_FUNCTION void KRB5_LIB_CALL
|
||||||
|
com_err_va (const char *, long, const char *, va_list)
|
||||||
__attribute__((format(printf, 3, 0)));
|
__attribute__((format(printf, 3, 0)));
|
||||||
|
|
||||||
void com_err (const char *, long, const char *, ...)
|
KRB5_LIB_FUNCTION void KRB5_LIB_CALL
|
||||||
|
com_err (const char *, long, const char *, ...)
|
||||||
__attribute__((format(printf, 3, 4)));
|
__attribute__((format(printf, 3, 4)));
|
||||||
|
|
||||||
errf set_com_err_hook (errf);
|
KRB5_LIB_FUNCTION errf KRB5_LIB_CALL
|
||||||
errf reset_com_err_hook (void);
|
set_com_err_hook (errf);
|
||||||
|
|
||||||
const char *error_table_name (int num);
|
KRB5_LIB_FUNCTION errf KRB5_LIB_CALL
|
||||||
|
reset_com_err_hook (void);
|
||||||
|
|
||||||
void add_to_error_table (struct et_list *new_table);
|
KRB5_LIB_FUNCTION const char * KRB5_LIB_CALL
|
||||||
|
error_table_name (int num);
|
||||||
|
|
||||||
|
KRB5_LIB_FUNCTION void KRB5_LIB_CALL
|
||||||
|
add_to_error_table (struct et_list *new_table);
|
||||||
|
|
||||||
#endif /* __COM_ERR_H__ */
|
#endif /* __COM_ERR_H__ */
|
||||||
|
Reference in New Issue
Block a user