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