summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xhelp/help_diff.sh25
1 files changed, 16 insertions, 9 deletions
diff --git a/help/help_diff.sh b/help/help_diff.sh
index 9d0da9258c..2096fa7709 100755
--- a/help/help_diff.sh
+++ b/help/help_diff.sh
@@ -1,19 +1,26 @@
#!/bin/sh
-# This script compares a translated help file to the master file and prints
-# out any missing messages. Needs the language code as parameter ($1).
+# This script walks through the master (stdin) help/message file, and
+# prints (stdout) only those messages which are missing from the help
+# file given as parameter ($1).
#
-# Example: help_diff.sh hu
+# Example: help_diff.sh help_mp-hu.h < help_mp-en.h > missing.h
-exec < help_mp-en.h
+curr=""
-while read line; do
+while read -r line; do
if echo "$line" | grep '^#define' > /dev/null 2>&1; then
curr=`echo "$line" | cut -d ' ' -f 2`
- if grep "^#define $curr" help_mp-$1.h > /dev/null 2>&1; then
- true
- else
- echo "$line"
+ if grep "^#define $curr" $1 > /dev/null 2>&1; then
+ curr=""
fi
+ else
+ if [ -z "$line" ]; then
+ curr=""
+ fi
+ fi
+
+ if [ -n "$curr" ]; then
+ echo "$line"
fi
done