Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Tcl_WrongNumArgs (3tcl)

Name

Tcl_WrongNumArgs - generate standard error message for wrong number of arguments

Synopsis

#include <tcl.h>

Tcl_WrongNumArgs(interp, objc, objv, message)

Description

Tcl_WrongNumArgs(3tcl)      Tcl Library Procedures      Tcl_WrongNumArgs(3tcl)



______________________________________________________________________________

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

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


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | runtime/tcl-8    |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       Tcl_GetIndexFromObj(3)

KEYWORDS
       command, error message, wrong number of arguments



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source was downloaded from  http://prdownloads.sourceforge.net/tcl/tcl-
       core8.6.7-src.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.



Tcl                                   8.0               Tcl_WrongNumArgs(3tcl)