krb4 library major version bump
tlyu at MIT.EDU
Fri Feb 7 02:46:07 EST 2003
>>>>> "raeburn" == Ken Raeburn <raeburn at MIT.EDU> writes:
raeburn> Currently, aklog is crashing for me while printing an error message.
raeburn> It's getting the error message by indexing into krb_err_txt. In
raeburn> previous releases, this was a char* array. Now it's a char**.
raeburn> That's another incompatible change. Tom checked it in in December as
raeburn> part of merging some of the Mac code. Is this change required?
Hm. It used to be
const char *const krb_err_txt ;
which is an array of const pointers to const char, and now it's
const char * const * const krb_err_txt;
which is a const pointer to const pointer to const char.
I think the only significant differences have to do with the
qualifiers, since an array type should be equivalent to a const
pointer to its member type. I'm still puzzled as to why that would
cause a problem.
The reason the change is needed is that we're doing a gross hack to
get krb_err_txt from the generated krb_err.c. Is there an actual ABI
difference between (const char * const ) and (const char * const * const)?
That would seem rather broken.
More information about the krbdev