svn rev #22078: trunk/src/ include/ include/krb5/ lib/krb5/ lib/krb5/krb/
ghudson@MIT.EDU
ghudson at MIT.EDU
Wed Mar 11 18:11:07 EDT 2009
http://src.mit.edu/fisheye/changelog/krb5/?cs=22078
Commit By: ghudson
Log Message:
ticket: 6407
subject: Make a working krb5_copy_error_message
target_version: 1.7
tags: pullup
The krb5_copy_error_state macro wasn't used, didn't work, and didn't
need to be a macro. Replace it with an exported API function named
krb5_copy_error_message.
Changed Files:
U trunk/src/include/k5-int.h
U trunk/src/include/krb5/krb5.hin
U trunk/src/lib/krb5/krb/kerrs.c
U trunk/src/lib/krb5/libkrb5.exports
Modified: trunk/src/include/k5-int.h
===================================================================
--- trunk/src/include/k5-int.h 2009-03-11 15:36:41 UTC (rev 22077)
+++ trunk/src/include/k5-int.h 2009-03-11 22:11:06 UTC (rev 22078)
@@ -2298,9 +2298,6 @@
extern int krb5int_crypto_init (void);
extern int krb5int_prng_init(void);
-#define krb5_copy_error_state(CTX, OCTX) \
- krb5int_set_error(&(CTX)->errinfo, (OCTX)->errinfo.code, "%s", (OCTX)->errinfo.msg)
-
/*
* Referral definitions, debugging hooks, and subfunctions.
*/
Modified: trunk/src/include/krb5/krb5.hin
===================================================================
--- trunk/src/include/krb5/krb5.hin 2009-03-11 15:36:41 UTC (rev 22077)
+++ trunk/src/include/krb5/krb5.hin 2009-03-11 22:11:06 UTC (rev 22078)
@@ -2490,6 +2490,9 @@
__attribute__((__format__(__printf__, 3, 0)))
#endif
;
+void KRB5_CALLCONV
+krb5_copy_error_message (krb5_context, krb5_context);
+
/*
* The behavior of krb5_get_error_message is only defined the first
* time it is called after a failed call to a krb5 function using the
Modified: trunk/src/lib/krb5/krb/kerrs.c
===================================================================
--- trunk/src/lib/krb5/krb/kerrs.c 2009-03-11 15:36:41 UTC (rev 22077)
+++ trunk/src/lib/krb5/krb/kerrs.c 2009-03-11 22:11:06 UTC (rev 22078)
@@ -75,6 +75,20 @@
#endif
}
+/* Set the error message state of dest_ctx to that of src_ctx. */
+void KRB5_CALLCONV
+krb5_copy_error_message (krb5_context dest_ctx, krb5_context src_ctx)
+{
+ if (dest_ctx == src_ctx)
+ return;
+ if (src_ctx->err.msg) {
+ krb5int_set_error(&dest_ctx->err, src_ctx->err.code, "%s",
+ src_ctx->err.msg);
+ } else {
+ krb5int_clear_error(dest_ctx);
+ }
+}
+
const char * KRB5_CALLCONV
krb5_get_error_message (krb5_context ctx, krb5_error_code code)
{
Modified: trunk/src/lib/krb5/libkrb5.exports
===================================================================
--- trunk/src/lib/krb5/libkrb5.exports 2009-03-11 15:36:41 UTC (rev 22077)
+++ trunk/src/lib/krb5/libkrb5.exports 2009-03-11 22:11:06 UTC (rev 22078)
@@ -172,6 +172,7 @@
krb5_copy_context
krb5_copy_creds
krb5_copy_data
+krb5_copy_error_message
krb5_copy_keyblock
krb5_copy_keyblock_contents
krb5_copy_principal
More information about the cvs-krb5
mailing list