1
0
Fork 0
mirror of https://git.freebsd.org/ports.git synced 2025-06-19 19:50:31 -04:00
ports/x11/xinit/files/patch-startx.cpp
2017-08-27 19:27:38 +00:00

49 lines
2 KiB
C++

# remove expr GNUisms: use BRE syntax and remove match, based on
# upstream commit e3bab0cc706880c22f2b205e7abad9d8c0227071, but
# also shield expr from leading dash of X server args.
#
# generate displayname as dictated in the xauth manpage
#
--- startx.cpp.orig 2014-09-11 17:31:42 UTC
+++ startx.cpp
@@ -154,7 +154,7 @@ while [ x"$1" != x ]; do
else
XCOMM display must be the FIRST server argument
if [ x"$serverargs" = x ] && @@
- expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then
+ expr \( "$1" \) : ':[0-9][0-9]*$' > /dev/null 2>&1; then
display="$1"
else
serverargs="$serverargs $1"
@@ -193,7 +193,7 @@ if [ x"$server" = x ]; then
XCOMM the startx session being seen as inactive:
XCOMM "https://bugzilla.redhat.com/show_bug.cgi?id=806491"
tty=$(tty)
- if expr match "$tty" '^/dev/tty[0-9]\+$' > /dev/null; then
+ if expr "$tty" : '/dev/tty[0-9][0-9]*$' > /dev/null; then
tty_num=$(echo "$tty" | grep -oE '[0-9]+$')
vtarg="vt$tty_num"
fi
@@ -217,7 +217,7 @@ fi
XCOMM if no vt is specified add vtarg (which may be empty)
have_vtarg="no"
for i in $serverargs; do
- if expr match "$i" '^vt[0-9]\+$' > /dev/null; then
+ if expr \( "$i" \) : 'vt[0-9][0-9]*$' > /dev/null; then
have_vtarg="yes"
fi
done
@@ -283,10 +283,10 @@ EOF
XCOMM now add the same credentials to the client authority file
XCOMM if '$displayname' already exists do not overwrite it as another
- XCOMM server man need it. Add them to the '$xserverauthfile' instead.
- for displayname in $authdisplay $hostname$authdisplay; do
+ XCOMM server may need it. Add them to the '$xserverauthfile' instead.
+ for displayname in $authdisplay $hostname/unix$authdisplay; do
authcookie=`XAUTH list "$displayname" @@
- | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null;
+ | sed -n "s|.*$displayname[[:space:]*].*[[:space:]*]||p"` 2>/dev/null;
if [ "z${authcookie}" = "z" ] ; then
XAUTH -q << EOF
add $displayname . $mcookie