[Tcladdressbook-commits] Source TclAddressBookUtils.c,1.23,1.24
Status: Alpha
Brought to you by:
bdesgraupes
|
From: Bernard D. <bde...@us...> - 2005-03-30 16:56:21
|
Update of /cvsroot/tcladdressbook/Source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4522/Source Modified Files: TclAddressBookUtils.c Log Message: Replaced TclLindexList() by Tcl_ListObjIndex() Index: TclAddressBookUtils.c =================================================================== RCS file: /cvsroot/tcladdressbook/Source/TclAddressBookUtils.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- TclAddressBookUtils.c 25 Aug 2004 10:06:35 -0000 1.23 +++ TclAddressBookUtils.c 30 Mar 2005 16:55:38 -0000 1.24 @@ -1,13 +1,13 @@ /* * File : "TclAddressBookUtils.c" * Created: 2003-12-05 10:08:03 - * Last modification: 2004-08-11 08:28:25 + * Last modification: 2005-03-30 18:09:13 * Author: Bernard Desgraupes * e-mail: <bde...@ea...> * * Utility functions called by the TclABCmd command functions * - * (c) Copyright : Bernard Desgraupes, 2003-2004 + * (c) Copyright : Bernard Desgraupes, 2003-2004, 2005 * All rights reserved. * This software is free software with BSD licence. * Versions history: see the Changes.Log file. @@ -44,7 +44,7 @@ kABMultiIntegerProperty, kABMultiRealProperty, kABMultiStringProperty, - NULL + (ABPropertyType) NULL }; /* @@ -442,10 +442,9 @@ Tcl_ListObjLength(interp, objPtr, &listLen); // Loop over all the sublists for (j = 0; j < listLen; j++) { - // TclLindexList increments the RefCount - elemPtr = TclLindexList(interp, objPtr, Tcl_NewIntObj(j)); - labelPtr = TclLindexList(interp, elemPtr, Tcl_NewIntObj(0)); - valuePtr = TclLindexList(interp, elemPtr, Tcl_NewIntObj(1)); + Tcl_ListObjIndex(interp, objPtr, j, &elemPtr); + Tcl_ListObjIndex(interp, elemPtr, 0, &labelPtr); + Tcl_ListObjIndex(interp, elemPtr, 1, &valuePtr); // Make CFStrings out of the Tcl objects switch (inPropType) { @@ -498,9 +497,10 @@ // The dictionary itself is represented as a list of two-items // sublists, each one corresponding to a key/value pair. - elemPtr = TclLindexList(interp, objPtr, Tcl_NewIntObj(j)); - labelPtr = TclLindexList(interp, elemPtr, Tcl_NewIntObj(0)); - dictPtr = TclLindexList(interp, elemPtr, Tcl_NewIntObj(1)); + Tcl_ListObjIndex(interp, objPtr, j, &elemPtr); + Tcl_ListObjIndex(interp, elemPtr, 0, &labelPtr); + Tcl_ListObjIndex(interp, elemPtr, 1, &dictPtr); + Tcl_ListObjLength(interp, dictPtr, &subListLen); // Allocate memory to store the keys and values @@ -509,9 +509,10 @@ if ((theKeys != NULL) && (theVals != NULL)) { // Loop over all the elements of the flat dict list for (k = 0; k < subListLen; k++) { - subElemPtr = TclLindexList(interp, dictPtr, Tcl_NewIntObj(k)); - keyPtr = TclLindexList(interp, subElemPtr, Tcl_NewIntObj(0)); - valuePtr = TclLindexList(interp, subElemPtr, Tcl_NewIntObj(1)); + Tcl_ListObjIndex(interp, dictPtr, k, &subElemPtr); + Tcl_ListObjIndex(interp, subElemPtr, 0, &keyPtr); + Tcl_ListObjIndex(interp, subElemPtr, 1, &valuePtr); + // Make CFStrings out of the Tcl objects theKeys[k] = CFStringCreateWithCString(NULL, Tcl_GetStringFromObj(keyPtr, &length), kCFStringEncodingUTF8); theVals[k] = CFStringCreateWithCString(NULL, Tcl_GetStringFromObj(valuePtr, &length), kCFStringEncodingUTF8); @@ -1999,9 +2000,8 @@ Tcl_ListObjLength(interp, objPtr, &listLen); // Parse the label/value pair. if (listLen == 2) { - // TclLindexList increments the RefCount - labelPtr = TclLindexList(interp, objPtr, Tcl_NewIntObj(0)); - valuePtr = TclLindexList(interp, objPtr, Tcl_NewIntObj(1)); + Tcl_ListObjIndex(interp, objPtr, 0, &labelPtr); + Tcl_ListObjIndex(interp, objPtr, 1, &valuePtr); // Make CFStrings out of the Tcl objects switch (inPropType) { @@ -2047,12 +2047,14 @@ if (listLen == 2) { // The dictionary itself should be a two-elements Tcl list // representing a single key/value pair. - labelPtr = TclLindexList(interp, objPtr, Tcl_NewIntObj(0)); - dictPtr = TclLindexList(interp, objPtr, Tcl_NewIntObj(1)); + Tcl_ListObjIndex(interp, objPtr, 0, &labelPtr); + Tcl_ListObjIndex(interp, objPtr, 1, &dictPtr); + Tcl_ListObjLength(interp, dictPtr, &subListLen); if (subListLen == 2) { - keyPtr = TclLindexList(interp, dictPtr, Tcl_NewIntObj(0)); - valuePtr = TclLindexList(interp, dictPtr, Tcl_NewIntObj(1)); + Tcl_ListObjIndex(interp, dictPtr, 0, &keyPtr); + Tcl_ListObjIndex(interp, dictPtr, 1, &valuePtr); + // Make CFStrings out of the Tcl objects *outValue = CFStringCreateWithCString(NULL, Tcl_GetStringFromObj(valuePtr, &length), kCFStringEncodingUTF8); theStr = Tcl_GetStringFromObj(keyPtr, &length); |