diff options
Diffstat (limited to 'doc/GetIndex.3')
-rw-r--r-- | doc/GetIndex.3 | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/doc/GetIndex.3 b/doc/GetIndex.3 index f476ea5..fc6f40b 100644 --- a/doc/GetIndex.3 +++ b/doc/GetIndex.3 @@ -4,10 +4,8 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: GetIndex.3,v 1.18 2005/05/10 18:33:56 kennykb Exp $ -'\" -.so man.macros .TH Tcl_GetIndexFromObj 3 8.1 Tcl "Tcl Library Procedures" +.so man.macros .BS .SH NAME Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct \- lookup string in table of keywords @@ -28,16 +26,22 @@ int Interpreter to use for error reporting; if NULL, then no message is provided on errors. .AP Tcl_Obj *objPtr in/out -The string value of this object is used to search through \fItablePtr\fR. +The string value of this value is used to search through \fItablePtr\fR. The internal representation is modified to hold the index of the matching table entry. -.AP "const char" **tablePtr in +.AP "const char *const" *tablePtr in An array of null-terminated strings. The end of the array is marked by a NULL string pointer. +Note that references to the \fItablePtr\fR may be retained in the +internal representation of \fIobjPtr\fR, so this should represent the +address of a statically-allocated array. .AP "const void" *structTablePtr in -An array of arbitrary type, typically some \fBstruct\fP type. +An array of arbitrary type, typically some \fBstruct\fR type. The first member of the structure must be a null-terminated string. -The size of the structure is given by \fIoffset\fP. +The size of the structure is given by \fIoffset\fR. +Note that references to the \fIstructTablePtr\fR may be retained in the +internal representation of \fIobjPtr\fR, so this should represent the +address of a statically-allocated array of structures. .AP int offset in The offset to add to structTablePtr to get to the next entry. The end of the array is marked by a NULL string pointer. @@ -51,16 +55,15 @@ operation. The only bit that is currently defined is \fBTCL_EXACT\fR. The index of the string in \fItablePtr\fR that matches the value of \fIobjPtr\fR is returned here. .BE - .SH DESCRIPTION .PP -This procedure provides an efficient way for looking up keywords, -switch names, option names, and similar things where the value of -an object must be one of a predefined set of values. -\fIObjPtr\fR is compared against each of +These procedures provide an efficient way for looking up keywords, +switch names, option names, and similar things where the literal value of +a Tcl value must be chosen from a predefined set. +\fBTcl_GetIndexFromObj\fR compares \fIobjPtr\fR against each of the strings in \fItablePtr\fR to find a match. A match occurs if \fIobjPtr\fR's string value is identical to one of the strings in -\fItablePtr\fR, or if it is a unique abbreviation +\fItablePtr\fR, or if it is a non-empty unique abbreviation for exactly one of the strings in \fItablePtr\fR and the \fBTCL_EXACT\fR flag was not specified; in either case the index of the matching entry is stored at \fI*indexPtr\fR @@ -68,10 +71,10 @@ and \fBTCL_OK\fR is returned. .PP If there is no matching entry, \fBTCL_ERROR\fR is returned and an error message is left in \fIinterp\fR's -result if \fIinterp\fR isn't NULL. \fIMsg\fR is included in the +result if \fIinterp\fR is not NULL. \fIMsg\fR is included in the error message to indicate what was being looked up. For example, if \fImsg\fR is \fBoption\fR the error message will have a form like -\fBbad option "firt": must be first, second, or third\fR. +.QW "\fBbad option \N'34'firt\N'34': must be first, second, or third\fR" . .PP If \fBTcl_GetIndexFromObj\fR completes successfully it modifies the internal representation of \fIobjPtr\fR to hold the address of @@ -95,9 +98,7 @@ array of characters at \fItablePtr\fR+\fIoffset\fR bytes, etc.) This is particularly useful when processing things like \fBTk_ConfigurationSpec\fR, whose string keys are in the same place in each of several array elements. - .SH "SEE ALSO" -Tcl_WrongNumArgs - +prefix(n), Tcl_WrongNumArgs(3) .SH KEYWORDS -index, object, table lookup +index, option, value, table lookup |