summaryrefslogtreecommitdiffstats
path: root/generic/tclDecls.h
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2017-01-25 12:22:16 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2017-01-25 12:22:16 (GMT)
commitd95abe6b6fe069f55ce27900c99fec5949d63a15 (patch)
treec261490c8b413208fd28174c52e9044de53d3853 /generic/tclDecls.h
parentf73959c2df224df88d79415e16dfab56b8756008 (diff)
downloadtcl-d95abe6b6fe069f55ce27900c99fec5949d63a15.zip
tcl-d95abe6b6fe069f55ce27900c99fec5949d63a15.tar.gz
tcl-d95abe6b6fe069f55ce27900c99fec5949d63a15.tar.bz2
If TCL_NO_DEPRECATED is defined, remove the "case" statement, and use much less interp->result. Implementation mostly taken over from "novem". If TCL_NO_DEPRECATED is not defined, nothing changes.
Diffstat (limited to 'generic/tclDecls.h')
-rw-r--r--generic/tclDecls.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
index 504af18..0dbf345 100644
--- a/generic/tclDecls.h
+++ b/generic/tclDecls.h
@@ -3869,6 +3869,22 @@ extern const TclStubs *tclStubsPtr;
#undef Tcl_AddObjErrorInfo
#define Tcl_AddObjErrorInfo(interp, message, length) \
Tcl_AppendObjToErrorInfo(interp, Tcl_NewStringObj(message, length))
+#ifdef TCL_NO_DEPRECATED
+#undef Tcl_SetResult
+#define Tcl_SetResult(interp, result, freeProc) \
+ do { \
+ char *__result = result; \
+ Tcl_FreeProc *__freeProc = freeProc; \
+ Tcl_SetObjResult(interp, Tcl_NewStringObj(__result, -1)); \
+ if (__result != NULL && __freeProc != NULL && __freeProc != TCL_VOLATILE) { \
+ if (__freeProc == TCL_DYNAMIC) { \
+ ckfree(__result); \
+ } else { \
+ (*__freeProc)(__result); \
+ } \
+ } \
+ } while(0)
+#endif /* TCL_NO_DEPRECATED */
#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS)
# if defined(__CYGWIN__) && defined(TCL_WIDE_INT_IS_LONG)