[PATCH xinit] startx: Don't use GNU expr extensions

Mark Kettenis kettenis at openbsd.org
Thu Jan 29 02:36:59 PST 2015


Use the ':' operator instead of "match" and avoid the use of "\+".  Both
constructions aren't specified by POSIX and not supported in BSD expr.
Also drop the '^' from the regular expressions as it is implicit and
POSIX leaves its behaviour undefined.

Signed-off-by: Mark Kettenis <kettenis at openbsd.org>
---
 startx.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/startx.cpp b/startx.cpp
index 45d7bd9..ce4713f 100644
--- a/startx.cpp
+++ b/startx.cpp
@@ -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 -keeptty"
     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
-- 
2.2.2



More information about the xorg-devel mailing list