DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

Tcl_NewBooleanObj(3tcl)




Tcl_BooleanObj(3)    Tcl Library Procedures     Tcl_BooleanObj(3)

_________________________________________________________________


NAME

     Tcl_NewBooleanObj, Tcl_SetBooleanObj,  Tcl_GetBooleanFromObj
     - store/retrieve boolean value in a Tcl_Obj


SYNOPSIS

     #include <tcl.h>

     Tcl_Obj *
     Tcl_NewBooleanObj(boolValue)

     Tcl_SetBooleanObj(objPtr, boolValue)

     int
     Tcl_GetBooleanFromObj(interp, objPtr, boolPtr)


ARGUMENTS

     int boolValue (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
                                        interpreter's      result
                                        object unless  interp  is
                                        NULL.

     int *boolPtr (out)                 Points  to  place   where
                                        Tcl_GetBooleanFromObj
                                        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 integer value in boolValue 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  boolValue  in  it,  and  returns a pointer to the new
     Tcl_Obj.  The new Tcl_Obj has reference count of zero.

Tcl                     Last change: 8.5                        1

Tcl_BooleanObj(3)    Tcl Library Procedures     Tcl_BooleanObj(3)

     Tcl_SetBooleanObj accepts objPtr, a pointer to  an  existing
     Tcl_Obj, and stores in the Tcl_Obj *objPtr the boolean value
     boolValue.  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  boolValue  into  *objPtr
     implies 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_GetBoolean,  then  the  recognized
     boolean value is written at the address given by boolPtr. 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
     boolPtr and if that value is non-zero a 1 is written at  the
     address  given  by  boolPtr.   In all cases where a value is
     written    at    the    address    given     by     boolPtr,
     Tcl_GetBooleanFromObj  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_GetBooleanFromObj  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 efficiently.

     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, object

Tcl                     Last change: 8.5                        2


Man(1) output converted with man2html