aboutsummaryrefslogtreecommitdiffstats
path: root/erts/etc/win32/msys_tools/reg_query.sh
diff options
context:
space:
mode:
authorunknown <[email protected]>2011-02-22 17:29:46 +0100
committerPatrik Nyblom <[email protected]>2011-12-02 15:21:10 +0100
commit7b3596ba1521f201c9416fc7a0385cb7e6c6f495 (patch)
treed3c0f1152ec3ee094e3fb142c091d89786b5ac46 /erts/etc/win32/msys_tools/reg_query.sh
parentdef5331a201ab811150599b969abf751a4954ceb (diff)
downloadotp-7b3596ba1521f201c9416fc7a0385cb7e6c6f495.tar.gz
otp-7b3596ba1521f201c9416fc7a0385cb7e6c6f495.tar.bz2
otp-7b3596ba1521f201c9416fc7a0385cb7e6c6f495.zip
Build Win64 Erlang emulator using MSYS
Still does not run, just compiles.
Diffstat (limited to 'erts/etc/win32/msys_tools/reg_query.sh')
-rw-r--r--erts/etc/win32/msys_tools/reg_query.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/erts/etc/win32/msys_tools/reg_query.sh b/erts/etc/win32/msys_tools/reg_query.sh
new file mode 100644
index 0000000000..ae6d5c3218
--- /dev/null
+++ b/erts/etc/win32/msys_tools/reg_query.sh
@@ -0,0 +1,24 @@
+#! /bin/sh
+BAT_FILE=/tmp/w$$.bat
+if [ -z "$1" -o -z "$2" ]; then
+ echo "Usage:" "$0" '<key> <valuename>'
+ exit 1
+fi
+BACKED=`echo "$1" | sed 's,/,\\\\,g'`
+# We need to get the 64bit part of the registry, hence we need to execute
+# a 64bit reg.exe, but c:\windows\system32 is redirected to 32bit versions
+# if we ate in the 32bit virtual environment, why we need to use the
+# sysnative trick to get to the 64bit executable of reg.exe (ouch!)
+if [ -d $WINDIR/sysnative ]; then
+ REG_CMD="$WINDIR\\sysnative\\reg.exe"
+else
+ REG_CMD="reg"
+fi
+cat > $BAT_FILE <<EOF
+@echo off
+$REG_CMD query "$BACKED" /v "$2"
+EOF
+#echo $BAT_FILE
+#cat $BAT_FILE
+RESULT=`cmd //C $BAT_FILE`
+echo $RESULT | sed "s,.*$2 REG_[^ ]* ,,"