On Mar 20, 2009, at 6:25 PM, Rainer Müller wrote:
Bradley Giesbrecht wrote:
This is what I ended up with to escape double quotes. I'm sure
someone
here will show me a better way.
set CCARGS [concat ${CCARGS} -DUSE_SASL_AUTH -
DDEF_SERVER_SASL_TYPE=\\\\\\"dovecot\\\\\\"]
First, there is usually no need to do:
set foo [concat $foo bar]
You can use append for strings and lappend for lists instead:
lappend foo bar
In this specific case, I don't know why you had to put that many
backslashes there. How is it used further?
It can also end in funny results if you try to use a list as a string
without using join. See this short tclsh example for the difference:
$ tclsh
% set foo "bar"
bar
% lappend foo baz="qux"
bar baz=\"qux\"
% puts $foo
bar baz=\"qux\"
Thank you. This is what I needed, a backslash doublequote \". I'm
adding dovecot_sasl variant to my local postfix. The existing Portfile
uses a lot of concat so I just rolled with it.
% set CCARGS "-DSOMETHING"
-DSOMETHING
% append CCARGS \ -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\\"dovecot\\"
-DSOMETHING -DUSE_SASL_AUTH-DDEF_SERVER_SASL_TYPE=\"dovecot\"
Portfile:
variant dovecot_sasl description "add Dovecot SASL support " {
append CCARGS \ -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\\"dovecot\
\"
}
//Brad
_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev