summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2009-04-29 23:21:21 +0000
committerGreg Hudson <ghudson@mit.edu>2009-04-29 23:21:21 +0000
commit41d6e61e7a953d6ef5e77a3271208b1b6c4e4921 (patch)
tree7dbf3d53b8a58345edf9ae044f3f73dce5b6737d /src/lib
parent16aaf27414aaf5478b774e4c504128ef38faa307 (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.c23
-rw-r--r--src/lib/krb5/libkrb5.exports1
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