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

FreeBSD Manual Pages

  
 
  

home | help
Tcl_BooleanObj(3)	     Tcl Library Procedures	       Tcl_BooleanObj(3)

________________________________________________________________________________

NAME
     Tcl_NewBooleanObj,  Tcl_SetBooleanObj,  Tcl_GetBooleanFromObj  -  store/re-
     trieve boolean value in a Tcl_Obj

SYNOPSIS
     #include <tcl.h>

     Tcl_Obj *
     Tcl_NewBooleanObj(intValue)

     Tcl_SetBooleanObj(objPtr, intValue)

     int
     Tcl_GetBooleanFromObj(interp, objPtr, intPtr)

ARGUMENTS
     int intValue (in)		       Integer value to be stored as  a  boolean
				       value in a Tcl_Obj.

     Tcl_Obj *objPtr (in/out)	       Points  to the Tcl_Obj in which to store,
				       or  from  which	to  retrieve  a  boolean
				       value.

     Tcl_Interp *interp (in/out)       If  a  boolean value cannot be retrieved,
				       an error message is left  in  the  inter-
				       preter's  result  value	unless interp is
				       NULL.

     int *intPtr (out)		       Points to place where  Tcl_GetBooleanFro-
				       mObj  stores  the  boolean value (0 or 1)
				       obtained from objPtr.
________________________________________________________________________________

DESCRIPTION
     These procedures are used to  pass  boolean  values  to  and  from  Tcl  as
     Tcl_Obj's.  When storing a boolean value into a Tcl_Obj, any non-zero inte-
     ger  value  in intValue is taken to be the boolean value 1, and the integer
     value 0 is taken to be the boolean value 0.

     Tcl_NewBooleanObj creates a new Tcl_Obj, stores the boolean value	intValue
     in  it, and returns a pointer to the new Tcl_Obj.	The new Tcl_Obj has ref-
     erence count of zero.

     Tcl_SetBooleanObj accepts objPtr, a pointer to  an  existing  Tcl_Obj,  and
     stores  in the Tcl_Obj *objPtr the boolean value intValue.  This is a write
     operation on *objPtr, so objPtr must be unshared.	Attempts to write  to  a
     shared Tcl_Obj will panic.  A successful write of intValue into *objPtr im-
     plies the freeing of any former value stored in *objPtr.

     Tcl_GetBooleanFromObj  attempts  to retrieve a boolean value from the value
     stored in *objPtr.  If objPtr holds a string value recognized  by	Tcl_Get-
     Boolean,  then the recognized boolean value is written at the address given
     by intPtr.  If objPtr holds any value recognized as a number by  Tcl,  then
     if  that value is zero a 0 is written at the address given by intPtr and if
     that value is non-zero a 1 is written at the address given by  intPtr.   In
     all cases where a value is written at the address given by intPtr, Tcl_Get-
     BooleanFromObj returns TCL_OK.  If the value of objPtr does not meet any of
     the  conditions  above,  then TCL_ERROR is returned and an error message is
     left in the interpreter's result unless interp is NULL.  Tcl_GetBooleanFro-
     mObj may also make changes to the internal fields of *objPtr so that future
     calls to Tcl_GetBooleanFromObj on the same objPtr can be performed more ef-
     ficiently.

     Note that the routines Tcl_GetBooleanFromObj  and	Tcl_GetBoolean	are  not
     functional  equivalents.  The set of values for which Tcl_GetBooleanFromObj
     will return TCL_OK is strictly larger than the  set  of  values  for  which
     Tcl_GetBoolean  will  do  the  same.   For example, the value "5" passed to
     Tcl_GetBooleanFromObj will lead to a TCL_OK return (and the  boolean  value
     1),  while the same value passed to Tcl_GetBoolean will lead to a TCL_ERROR
     return.

SEE ALSO
     Tcl_NewObj, Tcl_IsShared, Tcl_GetBoolean

KEYWORDS
     boolean, value

Tcl				       8.5		       Tcl_BooleanObj(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Tcl_GetBooleanFromObj.tcl86&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help