summaryrefslogtreecommitdiffstats
path: root/unix/dltest/pkga.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2011-04-07 10:19:46 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2011-04-07 10:19:46 (GMT)
commit886982eaaeb8e06d1b44c7cf39b1fa4d4c38bffc (patch)
treea1673d9cd9ab3c0d3472fa86eaae6bfae568e33c /unix/dltest/pkga.c
parent8ffd9ec61e651bc933eb844c13a99927543bf8f4 (diff)
downloadtcl-886982eaaeb8e06d1b44c7cf39b1fa4d4c38bffc.zip
tcl-886982eaaeb8e06d1b44c7cf39b1fa4d4c38bffc.tar.gz
tcl-886982eaaeb8e06d1b44c7cf39b1fa4d4c38bffc.tar.bz2
Add some (temporary) test cases showing the problem with --export-dynamic
Diffstat (limited to 'unix/dltest/pkga.c')
-rw-r--r--unix/dltest/pkga.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/unix/dltest/pkga.c b/unix/dltest/pkga.c
index c4d3f32..a014458 100644
--- a/unix/dltest/pkga.c
+++ b/unix/dltest/pkga.c
@@ -29,6 +29,17 @@ static int Pkga_EqObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]);
static int Pkga_QuoteObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]);
+/*
+ * Function to be backlinked from the tcltest executable
+ */
+#if 0
+extern const char *Tcltest_Foo();
+#else
+EXTERN const char *Tcltest_Foo() {
+ return "I'm in pkga.c";
+}
+#endif
+
/*
*----------------------------------------------------------------------
@@ -99,11 +110,15 @@ Pkga_QuoteObjCmd(
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument strings. */
{
- if (objc != 2) {
+ if (objc > 2) {
Tcl_WrongNumArgs(interp, 1, objv, "value");
return TCL_ERROR;
}
+ if (objc == 1) {
+ Tcl_SetResult(interp, (char *) Tcltest_Foo(), TCL_VOLATILE);
+ } else {
Tcl_SetObjResult(interp, objv[1]);
+ }
return TCL_OK;
}