DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

Tcl_WrongNumArgs(3tcl)




Tcl_WrongNumArgs(3)  Tcl Library Procedures   Tcl_WrongNumArgs(3)

_________________________________________________________________


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  mes-
                                           sage  gets  stored  in
                                           its result object.

     int objc (in)                         Number   of    leading
                                           arguments from objv to
                                           include in error  mes-
                                           sage.

     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   argu-
                                           ments 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 ini-
     tial  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"

Tcl                     Last change: 8.0                        1

Tcl_WrongNumArgs(3)  Tcl Library Procedures   Tcl_WrongNumArgs(3)

     Objc is usually 1, but may be 2 or more  for  commands  like
     string and the Tk widget commands, which use the first argu-
     ment as a subcommand.

     Some of the objects in the objv array may  be  abbreviations
     for a subcommand.  The command Tcl_GetIndexFromObj will con-
     vert 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  abbre-
     viation.  If the Tcl_WrongNumArgs command finds any indexOb-
     jects 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,  let  us
     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

Tcl                     Last change: 8.0                        2


Man(1) output converted with man2html