diff options
Diffstat (limited to 'generic/tclGet.c')
| -rw-r--r-- | generic/tclGet.c | 65 | 
1 files changed, 11 insertions, 54 deletions
| diff --git a/generic/tclGet.c b/generic/tclGet.c index 058323d..97e8c7b 100644 --- a/generic/tclGet.c +++ b/generic/tclGet.c @@ -10,8 +10,6 @@   *   * See the file "license.terms" for information on usage and redistribution of   * this file, and for a DISCLAIMER OF ALL WARRANTIES. - * - * RCS: @(#) $Id: tclGet.c,v 1.17 2005/11/07 15:13:36 dkf Exp $   */  #include "tclInt.h" @@ -38,8 +36,9 @@  int  Tcl_GetInt(      Tcl_Interp *interp,		/* Interpreter to use for error reporting. */ -    CONST char *src,		/* String containing a (possibly signed) -				 * integer in a form acceptable to strtoul. */ +    const char *src,		/* String containing a (possibly signed) +				 * integer in a form acceptable to +				 * Tcl_GetIntFromObj(). */      int *intPtr)		/* Place to store converted result. */  {      Tcl_Obj obj; @@ -54,50 +53,7 @@ Tcl_GetInt(      if (obj.refCount > 1) {  	Tcl_Panic("invalid sharing of Tcl_Obj on C stack");      } -    return code; -} - -/* - *---------------------------------------------------------------------- - * - * TclGetLong -- - * - *	Given a string, produce the corresponding long integer value. This - *	routine is a version of Tcl_GetInt but returns a "long" instead of an - *	"int" (a difference that matters on 64-bit architectures). - * - * Results: - *	The return value is normally TCL_OK; in this case *longPtr will be set - *	to the long integer value equivalent to src. If src is improperly - *	formed then TCL_ERROR is returned and an error message will be left in - *	the interp's result if interp is non-NULL. - * - * Side effects: - *	None. - * - *---------------------------------------------------------------------- - */ - -int -TclGetLong( -    Tcl_Interp *interp,		/* Interpreter used for error reporting if not -				 * NULL. */ -    CONST char *src,		/* String containing a (possibly signed) long -				 * integer in a form acceptable to strtoul. */ -    long *longPtr)		/* Place to store converted long result. */ -{ -    Tcl_Obj obj; -    int code; - -    obj.refCount = 1; -    obj.bytes = (char *) src; -    obj.length = strlen(src); -    obj.typePtr = NULL; - -    code = Tcl_GetLongFromObj(interp, &obj, longPtr); -    if (obj.refCount > 1) { -	Tcl_Panic("invalid sharing of Tcl_Obj on C stack"); -    } +    TclFreeIntRep(&obj);      return code;  } @@ -124,8 +80,9 @@ TclGetLong(  int  Tcl_GetDouble(      Tcl_Interp *interp,		/* Interpreter used for error reporting. */ -    CONST char *src,		/* String containing a floating-point number -				 * in a form acceptable to strtod. */ +    const char *src,		/* String containing a floating-point number +				 * in a form acceptable to +				 * Tcl_GetDoubleFromObj(). */      double *doublePtr)		/* Place to store converted result. */  {      Tcl_Obj obj; @@ -140,6 +97,7 @@ Tcl_GetDouble(      if (obj.refCount > 1) {  	Tcl_Panic("invalid sharing of Tcl_Obj on C stack");      } +    TclFreeIntRep(&obj);      return code;  } @@ -166,9 +124,8 @@ Tcl_GetDouble(  int  Tcl_GetBoolean(      Tcl_Interp *interp,		/* Interpreter used for error reporting. */ -    CONST char *src,		/* String containing a boolean number -				 * specified either as 1/0 or true/false or -				 * yes/no. */ +    const char *src,		/* String containing one of the boolean values +				 * 1, 0, true, false, yes, no, on, off. */      int *boolPtr)		/* Place to store converted result, which will  				 * be 0 or 1. */  { @@ -180,7 +137,7 @@ Tcl_GetBoolean(      obj.length = strlen(src);      obj.typePtr = NULL; -    code = Tcl_ConvertToType(interp, &obj, &tclBooleanType); +    code = TclSetBooleanFromAny(interp, &obj);      if (obj.refCount > 1) {  	Tcl_Panic("invalid sharing of Tcl_Obj on C stack");      } | 
