Index of Section 3 Manual Pages

Interix / SUATcl_GetWideIntFromObj.3Interix / SUA

Tcl_IntObj(3)         Tcl Library Procedures        Tcl_IntObj(3)



_________________________________________________________________

NAME
       Tcl_NewIntObj, Tcl_NewLongObj, Tcl_NewWideIntObj, Tcl_Set-
       IntObj, Tcl_SetLongObj, Tcl_SetWideIntObj,  Tcl_GetIntFro-
       mObj,  Tcl_GetLongFromObj, Tcl_GetWideIntFromObj - manipu-
       late Tcl objects as integers and wide integers

SYNOPSIS
       #include 

       Tcl_Obj *
       Tcl_NewIntObj(intValue)

       Tcl_Obj *
       Tcl_NewLongObj(longValue)

       Tcl_Obj *                                                  |
       Tcl_NewWideIntObj(wideValue)                               |

       Tcl_SetIntObj(objPtr, intValue)

       Tcl_SetLongObj(objPtr, longValue)

       Tcl_SetWideIntObj(objPtr, wideValue)                       |

       int
       Tcl_GetIntFromObj(interp, objPtr, intPtr)

       int
       Tcl_GetLongFromObj(interp, objPtr, longPtr)

       int                                                        |
       Tcl_GetWideIntFromObj(interp, objPtr, widePtr)             |

ARGUMENTS
       int           intValue  (in)      Integer  value  used  to
                                         initialize   or  set  an
                                         integer object.

       long          longValue (in)      Long integer value  used
                                         to  initialize or set an
                                         integer object.

       Tcl_WideInt   wideValue (in)      Wide integer value (min- |
                                         imum  64-bits wide where |
                                         supported  by  the  com- |
                                         piler)  used to initial- |
                                         ize or set a wide  inte- |
                                         ger object.

       Tcl_Obj       *objPtr   (in/out)  For       Tcl_SetIntObj,
                                         Tcl_SetLongObj,      and |
                                         Tcl_SetWideIntObj,  this |
                                         points to the object  to |
                                         be  converted to integer |
                                         type.   For  Tcl_GetInt- |
                                         FromObj, Tcl_GetLongFro- |
                                         mObj,                and |
                                         Tcl_GetWideIntFromObj,   |
                                         this   refers   to   the |
                                         object from which to get |
                                         an integer or long inte- |
                                         ger   value;  if  objPtr |
                                         does not  already  point |
                                         to an integer object (or |
                                         a wide integer object in |
                                         the        case       of |
                                         Tcl_SetWideIntObj    and |
                                         Tcl_GetWideIntFromObj,)  |
                                         an attempt will be  made
                                         to convert it to one.

       Tcl_Interp    *interp   (in/out)  If  an error occurs dur-
                                         ing conversion, an error
                                         message  is  left in the
                                         interpreter's     result
                                         object  unless interp is
                                         NULL.

       int           *intPtr   (out)     Points to place to store
                                         the     integer    value
                                         obtained by  Tcl_GetInt-
                                         FromObj from objPtr.

       long          *longPtr  (out)     Points to place to store
                                         the long  integer  value
                                         obtained   by   Tcl_Get-
                                         LongFromObj from objPtr.

       Tcl_WideInt   *widePtr  (out)     Points to place to store |
                                         the wide  integer  value |
                                         obtained              by |
                                         Tcl_GetWideIntFromObj    |
                                         from objPtr.
_________________________________________________________________


DESCRIPTION
       These  procedures  are  used  to  create, modify, and read
       integer  and  wide  integer  Tcl  objects  from  C   code.
       Tcl_NewIntObj, Tcl_NewLongObj, Tcl_SetIntObj, and Tcl_Set-
       LongObj create a new object of integer type or  modify  an
       existing  object  to have integer type, and Tcl_NewWideIn- |
       tObj and Tcl_SetWideIntObj create a  new  object  of  wide |
       integer  type  or  modify  an existing object to have wide |
       integer type.  Tcl_NewIntObj  and  Tcl_SetIntObj  set  the
       object  to  have  the  integer  value  given  by intValue,
       Tcl_NewLongObj and Tcl_SetLongObj set the object  to  have
       the   long   integer   value   given   by  longValue,  and |
       Tcl_NewWideIntObj and Tcl_SetWideIntObj set the object  to |
       have   the   wide   integer   value  given  by  wideValue. |
       Tcl_NewIntObj, Tcl_NewLongObj and Tcl_NewWideIntObj return |
       a  pointer  to a newly created object with reference count |
       zero.  These procedures set the object's type to be  inte- |
       ger  and assign the integer value to the object's internal |
       representation longValue or wideValue member (as appropri- |
       ate).  Tcl_SetIntObj, Tcl_SetLongObj and Tcl_SetWideIntObj
       invalidate any  old  string  representation  and,  if  the
       object  is  not  already  an  integer object, free any old
       internal representation.

       Tcl_GetIntFromObj and Tcl_GetLongFromObj attempt to return
       an   integer   value  from  the  Tcl  object  objPtr,  and |
       Tcl_GetWideIntFromObj attempts to return  a  wide  integer |
       value  from  the  Tcl object objPtr.  If the object is not |
       already an integer object, or a wide integer object in the |
       case of Tcl_GetWideIntFromObj they will attempt to convert
       it to one.  If an error  occurs  during  conversion,  they
       return  TCL_ERROR and leave an error message in the inter-
       preter's result object unless interp is  NULL.   Also,  if
       the long integer held in the object's internal representa-
       tion longValue member can not be represented  in  a  (non-
       long)  integer,  Tcl_GetIntFromObj  returns  TCL_ERROR and
       leaves an error message in the interpreter's result object
       unless  interp  is  NULL.  Otherwise, all three procedures
       return TCL_OK and store the integer, long integer value or |
       wide  integer  in the address given by intPtr, longPtr and |
       widePtr respectively.  If the object  is  not  already  an
       integer  or  wide integer object, the conversion will free
       any old internal representation.


SEE ALSO
       Tcl_NewObj, Tcl_DecrRefCount, Tcl_IncrRefCount, Tcl_GetOb-
       jResult


KEYWORDS
       integer,  integer object, integer type, internal represen-
       tation, object, object type, string representation



Tcl                            8.0                  Tcl_IntObj(3)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA