diff options
Diffstat (limited to 'config.tests/unix/makeabs')
-rwxr-xr-x | config.tests/unix/makeabs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/config.tests/unix/makeabs b/config.tests/unix/makeabs new file mode 100755 index 0000000000..c415cc7bda --- /dev/null +++ b/config.tests/unix/makeabs @@ -0,0 +1,25 @@ +#!/bin/sh + +FILE="$1" +RES="$FILE" + +CUT_ARG="-b1" +if [ `uname -s` = "QNX" ]; then + # QNX does not understand "-b1" + CUT_ARG="-c1" +fi + +if [ `echo $FILE | cut $CUT_ARG` = "/" ]; then + true +else + RES="$PWD/$FILE" + test -d "$RES" && RES="$RES/" + RES=`echo "$RES" | sed "s,/\(\./\)*,/,g"` + +# note: this will only strip 1 /path/../ from RES, i.e. given /a/b/c/../../../, it returns /a/b/../../ + RES=`echo "$RES" | sed "s,\(/[^/]*/\)\.\./,/,g"` + + RES=`echo "$RES" | sed "s,//,/,g" | sed "s,/$,,"` +fi +echo $RES #return + |