rem: (char *) ckalloc ((unsigned int)(keyLen + 1)); strncpy (keylIntPtr->entries [findIdx].key, key, (unsigned int)keyLen);
add: (char *) ckalloc ((size_t)(keyLen + 1)); strncpy (keylIntPtr->entries [findIdx].key, key, (size_t)keyLen);
context: TclX_KeyedListSet (interp, keylPtr, key, valuePtr)    Tcl_Interp *interp;    Tcl_Obj    *keylPtr;    char       *key;    Tcl_Obj    *valuePtr;{    keylIntObj_t *keylIntPtr;    char *nextSubKey;    int findIdx, keyLen, status;    Tcl_Obj *newKeylPtr;    if (Tcl_ConvertToType (interp, keylPtr, &keyedListType) != TCL_OK)        return TCL_ERROR;    keylIntPtr = (keylIntObj_t *) keylPtr->internalRep.otherValuePtr;    KEYL_REP_ASSERT (keylIntPtr);    findIdx = FindKeyedListEntry (keylIntPtr, key,                                  &keyLen, &nextSubKey);    /*     * If we are at the last subkey, either update or add an entry.     */    if (nextSubKey == NULL) {        if (findIdx < 0) {            EnsureKeyedListSpace (keylIntPtr, 1);            findIdx = keylIntPtr->numEntries;            keylIntPtr->numEntries++;        } else {            ckfree (keylIntPtr->entries [findIdx].key);            Tcl_DecrRefCount (keylIntPtr->entries [findIdx].valuePtr);        }        keylIntPtr->entries [findIdx].key =            (char *) ckalloc ((unsigned int)(keyLen + 1));        strncpy (keylIntPtr->entries [findIdx].key, key, (unsigned int)keyLen);        keylIntPtr->entries [findIdx].key [keyLen] = '\0';        keylIntPtr->entries [findIdx].valuePtr = valuePtr;        Tcl_IncrRefCount (valuePtr);        Tcl_InvalidateStringRep (keylPtr);        KEYL_REP_ASSERT (keylIntPtr);        return TCL_OK;    }    /*     * If we are not at the last subkey, recurse down, creating new     * entries if neccessary.  If this level key was not found, it     * means we must build new subtree. Don't insert the new tree until we     * come back without error.     */    if (findIdx >= 0) {        DupSharedKeyListChild (keylIntPtr, findIdx);        status =            TclX_KeyedListSet (interp,                                keylIntPtr->entries [findIdx].valuePtr,                               nextSubKey, valuePtr);        if (status == TCL_OK) {            Tcl_InvalidateStringRep (keylPtr);        }        KEYL_REP_ASSERT (keylIntPtr);        return status;    } else {        newKeylPtr = TclX_NewKeyedListObj ();        if (TclX_KeyedListSet (interp, newKeylPtr,                               nextSubKey, valuePtr) != TCL_OK) {            Tcl_DecrRefCount (newKeylPtr);            return TCL_ERROR;        }        EnsureKeyedListSpace (keylIntPtr, 1);        findIdx = keylIntPtr->numEntries++;        keylIntPtr->entries [findIdx].key =            (char *) ckalloc ((unsigned int)(keyLen + 1));        strncpy (keylIntPtr->entries [findIdx].key, key, (unsigned int)keyLen);        keylIntPtr->entries [findIdx].key [keyLen] = '\0';        keylIntPtr->entries [findIdx].valuePtr = newKeylPtr;        Tcl_IncrRefCount (newKeylPtr);        Tcl_InvalidateStringRep (keylPtr);        KEYL_REP_ASSERT (keylIntPtr);        return TCL_OK;    }}