summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2012-05-25 07:24:04 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2012-05-25 07:24:04 (GMT)
commitf182c12f4a885f158795c23c07ffbc23af91c41e (patch)
tree088cb08cc1c8f06f646577e8399ee87124c6ec7b
parentb8df44e69e283fac9c93c0f64a77f61780e11ada (diff)
downloadtcl-f182c12f4a885f158795c23c07ffbc23af91c41e.zip
tcl-f182c12f4a885f158795c23c07ffbc23af91c41e.tar.gz
tcl-f182c12f4a885f158795c23c07ffbc23af91c41e.tar.bz2
[Bug 473946]: special characters not correctly sent, now for XTYP_EXECUTE as well as XTYP_REQUEST.
Fix "make genstubs" when cross-compiling on UNIX
-rw-r--r--ChangeLog6
-rw-r--r--win/Makefile.in6
-rw-r--r--win/tclWinDde.c6
3 files changed, 12 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 7fe65c8..c91a822 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-05-25 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * win/tclWinDde.c: [Bug 473946]: special characters not correctly sent,
+ now for XTYP_EXECUTE as well as XTYP_REQUEST.
+ * win/Makefile.in: Fix "make genstubs" when cross-compiling on UNIX
+
2012-05-24 Jan Nijtmans <nijtmans@users.sf.net>
* tools/genStubs.tcl: Take cygwin handling of X11 into account.
diff --git a/win/Makefile.in b/win/Makefile.in
index 58811e5..af4ca68 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -620,7 +620,7 @@ $(GENERIC_DIR)/tclStubInit.c: $(GENERIC_DIR)/tcl.decls \
@echo "This warning can be safely ignored, do not report as a bug!"
genstubs:
- $(TCL_EXE) "$(ROOT_DIR_NATIVE)\tools\genStubs.tcl" \
+ $(TCL_EXE) "$(ROOT_DIR_NATIVE)/tools/genStubs.tcl" \
"$(GENERIC_DIR_NATIVE)" \
- "$(GENERIC_DIR_NATIVE)\tcl.decls" \
- "$(GENERIC_DIR_NATIVE)\tclInt.decls"
+ "$(GENERIC_DIR_NATIVE)/tcl.decls" \
+ "$(GENERIC_DIR_NATIVE)/tclInt.decls"
diff --git a/win/tclWinDde.c b/win/tclWinDde.c
index 4ef7f41..4aa6f71 100644
--- a/win/tclWinDde.c
+++ b/win/tclWinDde.c
@@ -593,9 +593,9 @@ DdeServerProc(
utilString = (char *) DdeAccessData(hData, &dlen);
uniStr = (Tcl_UniChar *) utilString;
if (!dlen) {
- /* Empty string. (Since TIP #106 we can create this!) */
+ /* Empty binary array. */
ddeObjectPtr = Tcl_NewObj();
- } else if (0) {
+ } else if ((dlen & 1) || uniStr[(dlen>>1)-1]) {
/* Cannot be unicode, so assume utf-8 */
if (!utilString[dlen-1]) {
dlen--;
@@ -604,7 +604,7 @@ DdeServerProc(
} else {
/* unicode */
dlen >>= 1;
- ddeObjectPtr = Tcl_NewUnicodeObj(uniStr, dlen);
+ ddeObjectPtr = Tcl_NewUnicodeObj(uniStr, dlen - 1);
}
Tcl_IncrRefCount(ddeObjectPtr);
DdeUnaccessData(hData);