Tcl_WrongNumArgs(3)         Tcl Library Procedures         Tcl_WrongNumArgs(3)


       Tcl_WrongNumArgs  - generate standard error message for wrong number of

       #include <tcl.h>

       Tcl_WrongNumArgs(interp, objc, objv, message)

       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 mes-

       Tcl_Obj      *CONST objv[]   (in)      Arguments to  command  that  had
                                              the wrong number of arguments.

       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

       Tcl_WrongNumArgs is a utility procedure that is invoked by command pro-
       cedures  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  con-
       sists  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
              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  sub-
       command.   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  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"


       command, error message, wrong number of arguments

Tcl                                   8.0                  Tcl_WrongNumArgs(3)