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
pgphquaJ0Xeqk.pgp
Description: PGP signature

