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 value.

       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 value 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 value 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 values in the objv array may	be abbreviations for a subcom-
       mand.  The command Tcl_GetIndexFromObj  will  convert  the  abbreviated
       string value 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 value 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