aboutsummaryrefslogtreecommitdiff
path: root/decode.sh
diff options
context:
space:
mode:
Diffstat (limited to 'decode.sh')
-rwxr-xr-xdecode.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/decode.sh b/decode.sh
new file mode 100755
index 0000000..cd483f1
--- /dev/null
+++ b/decode.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+set -efu
+
+log() {
+ printf "$@" >&2
+}
+
+fatal() {
+ log "$@"
+ exit 1
+}
+
+[ -z "${XCTUDIR:-}" ] && \
+ fatal "Please, set environment variable XCTUDIR,
+e.g. XCTUDIR=/home/zar/opt/Digi/XCTU-NG\n"
+
+[ $# -ne 1 ] && fatal "usage: %s <file.ehx2>\n" "$0"
+
+file=$1
+[ ! -e "$file" ] && fatal "No file \"%s\" exists\n" "$file"
+
+dir=$(dirname "$file")
+dec=$(printf "%s.dec" "$file")
+
+touch "$dec"
+
+chmod u-w "$dir"
+[ ! -e "XCTUDecodeRequest.class" ] && javac -cp "${XCTUDIR}/plugins/*" XCTUDecodeRequest.java
+java -cp "${XCTUDIR}/plugins/*:." XCTUDecodeRequest "$file" 2>/dev/null
+chmod u+w "$dir"
+
+cat "$dec"
+rm "$dec"