1. Tech

Your suggestion is on its way!

An email with a link to:

http://linux.about.com/library/cmd/blcmdl3_WrongNumArgs.htm

was emailed to:

Thanks for sharing About.com with others!

Linux / Unix Command: WrongNumArgs
Command Library

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

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

 

SEE ALSO

Tcl_GetIndexFromObj

 

KEYWORDS

command, error message, wrong number of arguments


Important: Use the man command (% man) to see how a command is used on your particular computer.

>> Linux/Unix Command Library

>> Shell Command Library

You can opt-out at any time. Please refer to our privacy policy for contact information.

Discuss in my forum

©2014 About.com. All rights reserved.