Compare commits

...
Author SHA1 Message Date
Kevin Walzer 7fc2722d6c Testing patches for iOS support 2014-07-31 02:04:10 +00:00
dgp 6c55284908 [3757cdf808] More clock refactoring with spooky impact on [string match]
performance.
2014-07-30 16:41:24 +00:00
3 changed files with 28 additions and 12 deletions
+22 -10
View File
@@ -521,6 +521,26 @@ ClockGetdatefieldsObjCmd(
*----------------------------------------------------------------------
*/
static int
FetchEraField(
Tcl_Interp *interp,
Tcl_Obj *dict,
Tcl_Obj *key,
int *storePtr)
{
Tcl_Obj *value = NULL;
if (Tcl_DictObjGet(interp, dict, key, &value) != TCL_OK) {
return TCL_ERROR;
}
if (value == NULL) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"expected key(s) not found in dictionary", -1));
return TCL_ERROR;
}
return Tcl_GetIndexFromObj(interp, value, eras, "era", TCL_EXACT, storePtr);
}
static int
FetchIntField(
Tcl_Interp *interp,
@@ -552,7 +572,6 @@ ClockGetjuliandayfromerayearmonthdayObjCmd(
Tcl_Obj *dict;
ClockClientData *data = clientData;
Tcl_Obj *const *literals = data->literals;
Tcl_Obj *fieldPtr;
int changeover;
int copied = 0;
int status;
@@ -567,10 +586,7 @@ ClockGetjuliandayfromerayearmonthdayObjCmd(
return TCL_ERROR;
}
dict = objv[1];
if (Tcl_DictObjGet(interp, dict, literals[LIT_ERA], &fieldPtr) != TCL_OK
|| fieldPtr == NULL
|| Tcl_GetIndexFromObj(interp, fieldPtr, eras, "era", TCL_EXACT,
&era) != TCL_OK
if (FetchEraField(interp, dict, literals[LIT_ERA], &era) != TCL_OK
|| FetchIntField(interp, dict, literals[LIT_YEAR], &fields.year)
!= TCL_OK
|| FetchIntField(interp, dict, literals[LIT_MONTH], &fields.month)
@@ -640,7 +656,6 @@ ClockGetjuliandayfromerayearweekdayObjCmd(
Tcl_Obj *dict;
ClockClientData *data = clientData;
Tcl_Obj *const *literals = data->literals;
Tcl_Obj *fieldPtr;
int changeover;
int copied = 0;
int status;
@@ -655,10 +670,7 @@ ClockGetjuliandayfromerayearweekdayObjCmd(
return TCL_ERROR;
}
dict = objv[1];
if (Tcl_DictObjGet(interp, dict, literals[LIT_ERA], &fieldPtr) != TCL_OK
|| fieldPtr == NULL
|| Tcl_GetIndexFromObj(interp, fieldPtr, eras, "era", TCL_EXACT,
&era) != TCL_OK
if (FetchEraField(interp, dict, literals[LIT_ERA], &era) != TCL_OK
|| FetchIntField(interp, dict, literals[LIT_ISO8601YEAR],
&fields.iso8601Year) != TCL_OK
|| FetchIntField(interp, dict, literals[LIT_ISO8601WEEK],
+1 -1
View File
@@ -104,7 +104,7 @@ TclpLoadMemory(
int size, /* Dummy: unused by this implementation */
int codeSize, /* Dummy: unused by this implementation */
Tcl_LoadHandle *loadHandle, /* Dummy: unused by this implementation */
Tcl_FSUnloadFileProc **unloadProcPtr)
Tcl_FSUnloadFileProc **unloadProcPtr, int flags)
/* Dummy: unused by this implementation */
{
Tcl_SetObjResult(interp, Tcl_NewStringObj("dynamic loading from memory "
+5 -1
View File
@@ -544,7 +544,11 @@ extern int errno;
*---------------------------------------------------------------------------
*/
#if defined(__APPLE__) && defined(__DYNAMIC__)
#ifdef __APPLE__
#include "TargetConditionals.h"
#endif
#if defined(__APPLE__) && defined(__DYNAMIC__) && TARGET_OS_MAC
# include <crt_externs.h>
# define environ (*_NSGetEnviron())
# define USE_PUTENV 1