清空TCL字符串导致不可打印的字符导致Project-Open崩溃

时间:2015-05-20 13:29:42

标签: string tcl openacs aolserver

我在ubuntu上安装了Project Open。​​

每当tcl中有一个空字符串时,HTML表单就会包含一个不可打印的字符。

可能导致问题的原因是什么? Webserver是openACS / AOLServer

TCL代码:set email ""(index.tcl)

ADP代码:email="@email@" (index.adp)

HTML输出:<input type="text" name="email" value="?"

(当我将网页保存为htm文件时,?在十六进制编辑器中显示十六进制代码00 - 不确定这是否正确。 无论如何,&#34;&#34;之间应该没有任何特征。为了价值)

更新1:
ADP代码:email="t@email@t" (index.adp)
HTML输出:<input type="text" name="email" value="tt"

所以它似乎真的是一个空字符串。它在ADP文件中搞砸了。

更新2:
根据邪恶的otto的答案,它似乎是一个AOL服务器bug 怎么解决? nsd -V
AOLserver / 4.5.1(aolserver4_5)
CVS标签:$名称:aolserver_v45_r1 $
建于2014年4月2日08:27:37
Tcl版本:8.6
平台:linux

1 个答案:

答案 0 :(得分:4)

在某些版本的AOLserver中存在已知错误(4.5.0到最后一次发布,但在cvs HEAD中已修复)导致ns_quotehtml在传递空字符串时返回无效数据。 OpenACS检测并解决这个bug,但有一个版本没有。

受影响版本的解决方法是将ns_quotehtml中的ad_quotehtml更改为template::adp_compilepackages/acs-templating/tcl/parse-procs.tcl中定义

请参阅http://openacs.org/forums/message-view?message_id=4078333