summaryrefslogtreecommitdiffstats
path: root/perl-install/share/po/fake_c.pl
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/share/po/fake_c.pl')
-rwxr-xr-xperl-install/share/po/fake_c.pl11
1 files changed, 9 insertions, 2 deletions
diff --git a/perl-install/share/po/fake_c.pl b/perl-install/share/po/fake_c.pl
index 64f20ca9c..21cf25b04 100755
--- a/perl-install/share/po/fake_c.pl
+++ b/perl-install/share/po/fake_c.pl
@@ -5,11 +5,18 @@ s|^(__?\()| $1|; # add a blank at the beginning (?!)
s|_\(\[(.*),\s*(.*),\s*(.*)\]|ngettext($2,$3,$1)|; # special plural form handling
s,\Qs/#.*//,,; # ugly special case
-s|//|/""/|g; # ensure // or not understood as comments
-s,(^|[^\$])#([^+].*),\1/*\2*/,; # rewrite comments to C format except for:
+s,(^|[^\$])#([^+].*),"$1/*" . simpl($2) . "*/",e;
+ # rewrite comments to C format except for:
# - ``#+ xxx'' comments which are kept
# - ``$#xxx'' which are not comments
+s|//|/""/|g; # ensure // or not understood as comments
+
s|$|\\n\\|; # multi-line strings not handled in C
+sub simpl {
+ local $_ = $_[0];
+ s,\*/,,g;
+ $_;
+}