diff options
| author | Greg Hudson <ghudson@mit.edu> | 2009-04-29 23:21:21 +0000 |
|---|---|---|
| committer | Greg Hudson <ghudson@mit.edu> | 2009-04-29 23:21:21 +0000 |
| commit | 41d6e61e7a953d6ef5e77a3271208b1b6c4e4921 (patch) | |
| tree | 7dbf3d53b8a58345edf9ae044f3f73dce5b6737d /src/lib | |
| parent | 16aaf27414aaf5478b774e4c504128ef38faa307 (diff) | |
Add DEBUG_ERROR_LOCATIONS support
If DEBUG_ERROR_LOCATIONS is defined, replace uses of
krb5_set_error_message and krb5int_set_error with calls to the new
_fl variants of those functions, and include filename and line number
information in the calls. Requires C99-style variadic macros if
defined.
ticket: 6479
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22291 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb5/krb/kerrs.c | 23 | ||||
| -rw-r--r-- | src/lib/krb5/libkrb5.exports | 1 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/krb5/krb/kerrs.c b/src/lib/krb5/krb/kerrs.c index 647076485..b7e4fc1c7 100644 --- a/src/lib/krb5/krb/kerrs.c +++ b/src/lib/krb5/krb/kerrs.c @@ -35,6 +35,7 @@ static int error_message_debug = 0; #endif #endif +#undef krb5_set_error_message void KRB5_CALLCONV_C krb5_set_error_message (krb5_context ctx, krb5_error_code code, const char *fmt, ...) @@ -57,6 +58,28 @@ krb5_set_error_message (krb5_context ctx, krb5_error_code code, va_end (args); } +void KRB5_CALLCONV_C +krb5_set_error_message_fl (krb5_context ctx, krb5_error_code code, + const char *file, int line, const char *fmt, ...) +{ + va_list args; + if (ctx == NULL) + return; + va_start (args, fmt); +#ifdef DEBUG + if (ERROR_MESSAGE_DEBUG()) + fprintf(stderr, + "krb5_set_error_message(ctx=%p/err=%p, code=%ld, ...)\n", + ctx, &ctx->err, (long) code); +#endif + krb5int_vset_error_fl (&ctx->err, code, file, line, fmt, args); +#ifdef DEBUG + if (ERROR_MESSAGE_DEBUG()) + fprintf(stderr, "->%s\n", ctx->err.msg); +#endif + va_end (args); +} + void KRB5_CALLCONV krb5_vset_error_message (krb5_context ctx, krb5_error_code code, const char *fmt, va_list args) diff --git a/src/lib/krb5/libkrb5.exports b/src/lib/krb5/libkrb5.exports index f30b57114..45e5002f0 100644 --- a/src/lib/krb5/libkrb5.exports +++ b/src/lib/krb5/libkrb5.exports @@ -487,6 +487,7 @@ krb5_set_default_realm krb5_set_default_tgs_enctypes krb5_set_default_tgs_ktypes krb5_set_error_message +krb5_set_error_message_fl krb5_set_password krb5_set_password_using_ccache krb5_set_principal_realm |
