Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
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 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 com-
					     mand.  This argument may be NULL.

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


       command,	error message, wrong number of arguments

Tcl				      8.0		   Tcl_WrongNumArgs(3)


Want to link to this manual page? Use this URL:

home | help