summaryrefslogtreecommitdiffstats
path: root/scripts/fixtext.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/fixtext.sh')
-rwxr-xr-xscripts/fixtext.sh11
1 files changed, 11 insertions, 0 deletions
diff --git a/scripts/fixtext.sh b/scripts/fixtext.sh
new file mode 100755
index 0000000..a6f53b6
--- /dev/null
+++ b/scripts/fixtext.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+# $LynxId: fixtext.sh,v 1.2 2021/01/07 00:21:03 tom Exp $
+
+# xgettext only processes literal strings. Someone with a poor sense of humor
+# decided to ignore strings in preprocessor lines. So we construct a fake
+# ".c" file with the definitions turned into literals.
+
+sed -e 's/")/");/' \
+ -e 's/^#define[ ]*\([^ ]*\)[ ]*gettext/char *\1 = gettext/' \
+ -e 's,^#define[ ]*\([^ ]*\)[ ]*\\,/* #define \1 */char *\1 = \\,' \
+ "$@"