summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2013-02-05 09:21:13 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2013-02-05 09:21:13 (GMT)
commit8941b209b0188f101901cd0ffb32a97d7d293f82 (patch)
treeafc213456820eba92e993ff636a7447d3a9b8da2
parentdc4030f2881b65755afd2a1d87bfc804a85b0ff8 (diff)
parentd20b1b94254275c9b62e7adf30c09a2a7c5443b2 (diff)
downloadtcl-8941b209b0188f101901cd0ffb32a97d7d293f82.zip
tcl-8941b209b0188f101901cd0ffb32a97d7d293f82.tar.gz
tcl-8941b209b0188f101901cd0ffb32a97d7d293f82.tar.bz2
[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.
-rw-r--r--ChangeLog7
-rw-r--r--generic/tclLoadNone.c33
2 files changed, 40 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9e3ffb3..554179f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2013-02-05 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclLoadNone.c (TclpLoadMemory): [Bug 3433012]: Added dummy
+ version of this function 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.
+
2013-02-04 Donal K. Fellows <dkf@users.sf.net>
* generic/tclCompCmds.c (TclCompileArraySetCmd): [Bug 3603163]: Stop
diff --git a/generic/tclLoadNone.c b/generic/tclLoadNone.c
index f030d89..5a2dc53 100644
--- a/generic/tclLoadNone.c
+++ b/generic/tclLoadNone.c
@@ -82,6 +82,39 @@ TclGuessPackageName(
}
/*
+ * 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