9c727d2ca9
PR: 6868 Submitted by: Josh Gilliam <josh@quick.net>
80 lines
2.9 KiB
Groff
80 lines
2.9 KiB
Groff
'\"
|
|
'\" Copyright (c) 1994-1997 Sun Microsystems, Inc.
|
|
'\"
|
|
'\" See the file "license.terms" for information on usage and redistribution
|
|
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
|
'\"
|
|
'\" SCCS: @(#) @(#) WrongNumArgs.3 1.5 97/07/30 16:20:07
|
|
'\"
|
|
.so man.macros
|
|
.TH Tcl_WrongNumArgs 3 8.0 Tcl "Tcl Library Procedures"
|
|
.BS
|
|
.SH NAME
|
|
Tcl_WrongNumArgs \- generate standard error message for wrong number of arguments
|
|
.SH SYNOPSIS
|
|
.nf
|
|
\fB#include <tcl.h>\fR
|
|
.sp
|
|
\fBTcl_WrongNumArgs\fR(\fIinterp, objc, objv, message\fR)
|
|
.SH ARGUMENTS
|
|
.AS Tcl_Interp "*CONST objv[]"
|
|
.AP Tcl_Interp interp in
|
|
Interpreter in which error will be reported: error message gets stored
|
|
in its result object.
|
|
.AP int objc in
|
|
Number of leading arguments from \fIobjv\fR to include in error
|
|
message.
|
|
.TP
|
|
Tcl_Obj *CONST \fIobjv\fR[] (in)
|
|
Arguments to command that had the wrong number of arguments.
|
|
.AP char *message in
|
|
Additional error information to print after leading arguments
|
|
from \fIobjv\fR. This typically gives the acceptable syntax
|
|
of the command. This argument may be NULL.
|
|
.BE
|
|
|
|
.SH DESCRIPTION
|
|
.PP
|
|
\fBTcl_WrongNumArgs\fR is a utility procedure that is invoked by
|
|
command procedures when they discover that they have received the
|
|
wrong number of arguments. \fBTcl_WrongNumArgs\fR generates a
|
|
standard error message and stores it in the result object of
|
|
\fIinterp\fR. The message includes the \fIobjc\fR initial
|
|
elements of \fIobjv\fR plus \fImessage\fR. For example, if
|
|
\fIobjv\fR consists of the values \fBfoo\fR and \fBbar\fR,
|
|
\fIobjc\fR is 1, and \fImessage\fR is ``\fBfileName count\fR''
|
|
then \fIinterp\fR's result object will be set to the following
|
|
string:
|
|
.CS
|
|
wrong # args: should be "foo fileName count"
|
|
.CE
|
|
If \fIobjc\fR is 2, the result will be set to the following string:
|
|
.CS
|
|
wrong # args: should be "foo bar fileName count"
|
|
.CE
|
|
\fIObjc\fR is usually 1, but may be 2 or more for commands like
|
|
\fBstring\fR and the Tk widget commands, which use the first argument
|
|
as a subcommand.
|
|
.PP
|
|
Some of the objects in the \fIobjv\fR array may be abbreviations for
|
|
a subcommand. The command
|
|
\fBTcl_GetIndexFromObj\fR will convert the abbreviated string object
|
|
into an \fIindexObject\fR. If an error occurs in the parsing of the
|
|
subcommand we would like to use the full subcommand name rather than
|
|
the abbreviation. If the \fBTcl_WrongNumArgs\fR command finds any
|
|
\fIindexObjects\fR in the \fIobjv\fR array it will use the full subcommand
|
|
name in the error message instead of the abbreviated name that was
|
|
originally passed in. Using the above example, let us assume that
|
|
\fIbar\fR is actually an abbreviation for \fIbarfly\fR and the object
|
|
is now an indexObject becasue it was passed to
|
|
\fBTcl_GetIndexFromObj\fR. In this case the error message would be:
|
|
.CS
|
|
wrong # args: should be "foo barfly fileName count"
|
|
.CE
|
|
|
|
.SH "SEE ALSO"
|
|
Tcl_GetIndexFromObj
|
|
|
|
.SH KEYWORDS
|
|
command, error message, wrong number of arguments
|