Provided by: tcl8.4-doc_8.4.20-8_all bug

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  command that had the wrong number of
                                              arguments.

       CONST char   *message        (in)      Additional error information to print after leading
                                              arguments  from  objv.   This  typically  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 string:
              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 subcommand name in the error message instead of the
       abbreviated name that was originally passed in.  Using the above example, lets assume that
       bar is actually an abbreviation for barfly and the object is now an indexObject because 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