NAME
Tcl_WrongNumArgs - generate standard error message for
wrong number of arguments
SYNOPSIS
#include <tcl.h>
Tcl_WrongNumArgs(interp, objc, objv, message)
ARGUMENTS
Tcl_Interp interp (in) Interpreter in
which error will be
reported: error
message gets stored
in its result
object.
int objc (in) Number of leading
arguments from objv
to include in error
message.
Tcl_Obj *CONST objv[] (in) Arguments to com
mand that had the
wrong number of
arguments.
char *message (in) Additional error
information to
print after leading
arguments from
objv. This typi
cally gives the
acceptable syntax
of the command.
This argument may
be NULL.
_________________________________________________________________
DESCRIPTION
Tcl_WrongNumArgs is a utility procedure that is invoked by
command procedures when they discover that they have
received the wrong number of arguments. Tcl_WrongNumArgs
generates a standard error message and stores it in the
result object of interp. The message includes the objc
initial elements of objv plus message. For example, if
objv consists of the values foo and bar, objc is 1, and
message is ``fileName count'' then interp's result object
will be set to the following string:
wrong # args: should be "foo fileName count"
If objc is 2, the result will be set to the following
wrong # args: should be "foo bar fileName count"
Objc is usually 1, but may be 2 or more for commands like
string and the Tk widget commands, which use the first
argument as a subcommand.
Some of the objects in the objv array may be abbreviations
for a subcommand. The command Tcl_GetIndexFromObj will
convert the abbreviated string object into an indexObject.
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 Tcl_WrongNumArgs command finds any
indexObjects in the objv array it will use the full sub
command name in the error message instead of the abbrevi
ated name that was origionally passed in. Using the above
example, lets assume that bar is actually an abbreviation
for barfly and the object is now an indexObject becasue it
was passed to Tcl_GetIndexFromObj. In this case the error
message would be:
wrong # args: should be "foo barfly fileName count"
SEE ALSO
Tcl_GetIndexFromObj
KEYWORDS
command, error message, wrong number of arguments
Man(1) output converted with
man2html