summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2013-02-05 09:17:44 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2013-02-05 09:17:44 (GMT)
commitd20b1b94254275c9b62e7adf30c09a2a7c5443b2 (patch)
tree153779091d3d93f5d4622c4a171b50094a5ced48 /generic
parentf1cc0757254d92df5b8f6fc68a55f5741dfde088 (diff)
downloadtcl-d20b1b94254275c9b62e7adf30c09a2a7c5443b2.zip
tcl-d20b1b94254275c9b62e7adf30c09a2a7c5443b2.tar.gz
tcl-d20b1b94254275c9b62e7adf30c09a2a7c5443b2.tar.bz2
[Bug 3433012]: Added dummy version of TclpLoadMemory to use in the event that a
platform thinks it can load from memory but cannot actually do so due to it being disabled at configuration time.
Diffstat (limited to 'generic')
-rw-r--r--generic/tclLoadNone.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/generic/tclLoadNone.c b/generic/tclLoadNone.c
index d328a41..af4ca81 100644
--- a/generic/tclLoadNone.c
+++ b/generic/tclLoadNone.c
@@ -134,6 +134,39 @@ TclpUnloadFile(
}
/*
+ * These functions are fallbacks if we somehow determine that the platform can
+ * do loading from memory but the user wishes to disable it. They just report
+ * (gracefully) that they fail.
+ */
+
+#ifdef TCL_LOAD_FROM_MEMORY
+
+MODULE_SCOPE void *
+TclpLoadMemoryGetBuffer(
+ Tcl_Interp *interp, /* Dummy: unused by this implementation */
+ int size) /* Dummy: unused by this implementation */
+{
+ return NULL;
+}
+
+MODULE_SCOPE int
+TclpLoadMemory(
+ Tcl_Interp *interp, /* Used for error reporting. */
+ void *buffer, /* Dummy: unused by this implementation */
+ 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)
+ /* Dummy: unused by this implementation */
+{
+ Tcl_SetResult(interp, "dynamic loading from memory is not available "
+ "on this system", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+#endif /* TCL_LOAD_FROM_MEMORY */
+
+/*
* Local Variables:
* mode: c
* c-basic-offset: 4