From 5f892a1b17f116e56bfdc1585a20f4587c423765 Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Fri, 26 Sep 2014 16:39:17 -0500
Subject: [PATCH] i18n: Fix crash building language packs

---
 setup/cli/modules/i18n.php | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/setup/cli/modules/i18n.php b/setup/cli/modules/i18n.php
index 04baeb734..269386dfd 100644
--- a/setup/cli/modules/i18n.php
+++ b/setup/cli/modules/i18n.php
@@ -581,10 +581,11 @@ class i18n_Compiler extends Module {
             $s = str_replace($root, '', $s);
             $this->stderr->write($s."\n");
             $calls = array();
-            preg_match_all('/__\(\s*[^\'"]*(([\'"])(?:(?<!\\\\)\2|.)+\2)\s*[^)]*\)/',
+            preg_match_all('/(?:function\s+)?__\(\s*[^\'"]*(([\'"])(?:(?<!\\\\)\2|.)+\2)\s*[^)]*\)/',
                 $script, $calls, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
             foreach ($calls as $c) {
-                $call = $this->__find_strings(token_get_all('<?php '.$c[0][0]), $funcs, 0);
+                if (!($call = $this->__find_strings(token_get_all('<?php '.$c[0][0]), $funcs, 0)))
+                    continue;
                 $call = $call[0];
 
                 list($lhs) = str_split($script, $c[1][1]);
-- 
GitLab