rem: keyedList = Tcl_GetVar(interp, argv[1], TCL_LEAVE_ERR_MSG);
add: keyedList = (char*)Tcl_GetVar(interp, argv[1], TCL_LEAVE_ERR_MSG);
context: Tcl_KeylkeysCmd(clientData, interp, argc, argv)    ClientData      clientData;    Tcl_Interp     *interp;    int             argc;    char          **argv;{    char           *keyedList, **keyesArgv;    int             result, keyesArgc;    if ((argc < 2) || (argc > 3)) {        Tcl_AppendResult(interp, tclXWrongArgs, argv[0],            " listvar ?key?", (char *) NULL);        return TCL_ERROR;    }    keyedList = Tcl_GetVar(interp, argv[1], TCL_LEAVE_ERR_MSG);    if (keyedList == NULL)        return TCL_ERROR;    /*     * If key argument is not specified, then argv [2] is NULL, meaning get     * top level keys.     */    result = Tcl_GetKeyedListKeys(interp, argv[2], keyedList, &keyesArgc,        &keyesArgv);    if (result == TCL_ERROR)        return TCL_ERROR;    if (result == TCL_BREAK) {        Tcl_AppendResult(interp, "field name not found: \"", argv[2],            "\"", (char *) NULL);        return TCL_ERROR;    }    Tcl_SetResult(interp, Tcl_Merge(keyesArgc, keyesArgv), TCL_DYNAMIC);    ckfree((char *) keyesArgv);    return TCL_OK;}