Hi, based on the patch from Jari Aalto i tried to make an easier one... Now _every_ argument is surrounded with "" and all " in the argument is escaped by an \ . The "eval" will do the rest.. Greetz s -- GnuPG: 5755FB64 Per aspera ad astra.
--- startx 2008-08-21 21:59:43.000000000 +0200 +++ startx 2008-08-21 22:00:38.000000000 +0200 @@ -47,6 +47,10 @@ fi +function escapearg() +{ + echo $* | sed 's#"#\\\"#g' +} whoseargs="client" while [ x"$1" != x ]; do @@ -57,13 +61,13 @@ if [ x"$clientargs" = x ]; then client="$1" else - clientargs="$clientargs $1" + clientargs="$clientargs \"`escapearg $1`\"" fi else if [ x"$serverargs" = x ]; then server="$1" else - serverargs="$serverargs $1" + serverargs="$serverargs \"`escapearg $1`\"" fi fi ;; @@ -72,14 +76,14 @@ ;; *) if [ "$whoseargs" = "client" ]; then - clientargs="$clientargs $1" + clientargs="$clientargs \"`escapearg $1`\"" else # display must be the FIRST server argument if [ x"$serverargs" = x ] && \ expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then display="$1" else - serverargs="$serverargs $1" + serverargs="$serverargs \"`escapearg $1`\"" fi fi ;; @@ -187,7 +191,7 @@ -xinit $client $clientargs -- $server $display $serverargs +eval xinit $client $clientargs -- $server $display $serverargs if [ x"$enable_xauth" = x1 ] ; then
Attachment:
pgp_WIwcO_dJF.pgp
Description: PGP signature