plucky (3) Tcl_GetBoolean.3tcl.gz

Provided by: tcl9.0-doc_9.0.1+dfsg-1_all bug

NAME

       Tcl_GetInt, Tcl_GetDouble, Tcl_GetBoolean - convert from string to integer, double, or boolean

SYNOPSIS

       #include <tcl.h>

       int
       Tcl_GetInt(interp, src, intPtr)

       int
       Tcl_GetDouble(interp, src, doublePtr)

       int
       Tcl_GetBoolean(interp, src, intPtr)

       int
       Tcl_GetBool(interp, src, flags, charPtr)

ARGUMENTS

       Tcl_Interp *interp (in)             Interpreter to use for error reporting.

       const char *src (in)                Textual value to be converted.

       int *intPtr (out)                   Points to place to store integer value converted from src.

       double *doublePtr (out)             Points  to  place  to  store  double-precision  floating-point  value
                                           converted from src.

       char *charPtr (out)                 Points to place to store boolean value (0 or 1) value converted  from
                                           src.

       int flags (in)                      0  or  TCL_NULL_OK.  If TCL_NULL_OK is used, then the empty string or
                                           NULL will result in Tcl_GetBool return TCL_OK,  the  *charPtr  filled
                                           with the value '\xFF';
________________________________________________________________________________________________________________

DESCRIPTION

       These  procedures  convert from strings to integers or double-precision floating-point values or booleans
       (represented as 0- or 1-valued integers).  Each of the procedures takes a src argument, converts it to an
       internal  form  of  a  particular  type,  and stores the converted value at the location indicated by the
       procedure's third argument.  If all goes well, each of the procedures returns TCL_OK.  If  src  does  not
       have  the  proper syntax for the desired type then TCL_ERROR is returned, an error message is left in the
       interpreter's result, and nothing is stored at *intPtr or *doublePtr.

       Tcl_GetInt expects src to consist of a collection of integer digits,  optionally  signed  and  optionally
       preceded  and followed by white space.  If the first two characters of src after the optional white space
       and sign are “0x” then src is expected  to  be  in  hexadecimal  form;   otherwise,  if  the  first  such
       characters  are  “0d” then src is expected to be in decimal form; otherwise, if the first such characters
       are “0o” then src is expected to be in octal form;  otherwise, if the first such characters are “0b” then
       src is expected to be in binary form;  otherwise, src is expected to be in decimal form.

       Tcl_GetDouble  expects  src  to  consist  of  a floating-point number, which is:  white space;  a sign; a
       sequence of digits;  a decimal point “.”; a sequence  of  digits;   the  letter  “e”;  a  signed  decimal
       exponent;   and more white space.  Any of the fields may be omitted, except that the digits either before
       or after the decimal point must be present and if the “e” is present then it  must  be  followed  by  the
       exponent  number.  If  there  are  no fields apart from the sign and initial sequence of digits (i.e., no
       decimal point or exponent indicator), that initial sequence of digits should take one of the  forms  that
       Tcl_GetInt  supports,  described above. The use of “,” as a decimal point is not supported nor should any
       other sort of inter-digit separator be present.

       Tcl_GetBoolean expects src to specify a boolean value.  If src is any of  0,  false,  no,  or  off,  then
       Tcl_GetBoolean stores a zero value at *intPtr.  If src is any of 1, true, yes, or on, then 1 is stored at
       *intPtr.  Any of these values may be abbreviated, and upper-case spellings are also acceptable.

       Tcl_GetBool functions almost the same as Tcl_GetBoolean, but it has an additional parameter flags,  which
       can be used to specify whether the empty string or NULL is accepted as valid.

KEYWORDS

       boolean, conversion, double, floating-point, integer