--- src/kadmin/testing/util/tcl_kadm5.c.orig 2013-11-22 16:22:36.690361910 +0700 +++ src/kadmin/testing/util/tcl_kadm5.c 2013-11-22 16:44:15.022203082 +0700 @@ -801,7 +801,7 @@ return retcode; } if (argc != num_keysalts) { - sprintf(interp->result, "%d keysalts specified, " + sprintf(Tcl_GetErrorLine(interp), "%d keysalts specified, " "but num_keysalts is %d", argc, num_keysalts); retcode = TCL_ERROR; goto finished; @@ -814,7 +814,7 @@ goto finished; } if (argc1 != 2) { - sprintf(interp->result, "wrong # fields in keysalt " + sprintf(Tcl_GetErrorLine(interp), "wrong # fields in keysalt " "(%d should be 2)", argc1); retcode = TCL_ERROR; goto finished; @@ -856,7 +856,7 @@ *key_data = NULL; if (list == NULL) { if (n_key_data != 0) { - sprintf(interp->result, "0 key_datas specified, " + sprintf(Tcl_GetErrorLine(interp), "0 key_datas specified, " "but n_key_data is %d", n_key_data); retcode = TCL_ERROR; goto finished; @@ -868,14 +868,14 @@ return retcode; } if (argc != n_key_data) { - sprintf(interp->result, "%d key_datas specified, " + sprintf(Tcl_GetErrorLine(interp), "%d key_datas specified, " "but n_key_data is %d", argc, n_key_data); retcode = TCL_ERROR; goto finished; } if (argc != 0) { - sprintf(interp->result, "cannot parse key_data yet"); + sprintf(Tcl_GetErrorLine(interp), "cannot parse key_data yet"); retcode = TCL_ERROR; goto finished; } @@ -896,7 +896,7 @@ *tlp = NULL; if (list == NULL) { if (n_tl_data != 0) { - sprintf(interp->result, "0 tl_datas specified, " + sprintf(Tcl_GetErrorLine(interp), "0 tl_datas specified, " "but n_tl_data is %d", n_tl_data); retcode = TCL_ERROR; goto finished; @@ -908,7 +908,7 @@ return retcode; } if (argc != n_tl_data) { - sprintf(interp->result, "%d tl_datas specified, " + sprintf(Tcl_GetErrorLine(interp), "%d tl_datas specified, " "but n_tl_data is %d", argc, n_tl_data); retcode = TCL_ERROR; goto finished; @@ -929,7 +929,7 @@ goto finished; } if (argc1 != 3) { - sprintf(interp->result, "wrong # fields in tl_data " + sprintf(Tcl_GetErrorLine(interp), "wrong # fields in tl_data " "(%d should be 3)", argc1); retcode = TCL_ERROR; goto finished; @@ -949,7 +949,7 @@ } tl->tl_data_length = tmp; if (tl->tl_data_length != strlen(argv1[2])) { - sprintf(interp->result, "specified length %d does not " + sprintf(Tcl_GetErrorLine(interp), "specified length %d does not " "match length %lu of string \"%s\"", tmp, (unsigned long) strlen(argv1[2]), argv1[2]); retcode = TCL_ERROR; @@ -962,7 +962,7 @@ tl = tl->tl_data_next; } if (tl != NULL) { - sprintf(interp->result, "tl is not NULL!"); + sprintf(Tcl_GetErrorLine(interp), "tl is not NULL!"); retcode = TCL_ERROR; goto finished; } @@ -992,7 +992,7 @@ } if (argc != 20) { - sprintf(interp->result, + sprintf(Tcl_GetErrorLine(interp), "wrong # args in config params structure (%d should be 20)", argc); retcode = TCL_ERROR; @@ -1129,7 +1129,7 @@ } if (argc != 12 && argc != 20) { - sprintf(interp->result, + sprintf(Tcl_GetErrorLine(interp), "wrong # args in principal structure (%d should be 12 or 20)", argc); retcode = TCL_ERROR; @@ -1391,7 +1391,7 @@ } if (argc != 7 && argc != 10) { - sprintf(interp->result, "wrong # args in policy structure (%d should be 7 or 10)", + sprintf(Tcl_GetErrorLine(interp), "wrong # args in policy structure (%d should be 7 or 10)", argc); retcode = TCL_ERROR; goto finished; --- src/kadmin/testing/util/tcl_kadm5.h.orig 2013-11-22 16:33:21.532338510 +0700 +++ src/kadmin/testing/util/tcl_kadm5.h 2013-11-22 16:33:35.462212999 +0700 @@ -1,3 +1,12 @@ /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ void Tcl_kadm5_init(Tcl_Interp *interp); + +/* + * Beginning with 8.6, interp->errorLine isn't public visible anymore + * (TIP 330) +*/ + +#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION < 6) +# define Tcl_GetErrorLine(interp) (interp)->errorLine +#endif \ No newline at end of file