<p>Chris Savinovich has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.asterisk.org/10889">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Test_cel: Fails when DONT_OPTIMIZE is off<br><br>A bug in GCC causes TEST_CEL to return<br>failure under the following conditions:<br>1. TEST_FRAMEWORK on<br>2. DONT_OPTIMIZE off<br>3. Fedora and Ubuntu<br>4. GCC 8.2.1<br>5. Test name: test_cel_dial_pickup<br>The bug affects arithmetic calculations when<br>the optimization level is bigger than O1 and the<br>-fpartial-inline flag is on. Provided these<br>conditions, function ast_str_to_lower() fails to<br>convert to lower case due to said function being<br>of type force_inline.  The simple solution has<br>been to write a short loop that converts the<br>variable to lower case instead of calling function<br>ast_str_to_lower()<br><br>Change-Id: Ied32e0071f12ed9d5f3b4cdd878b2532a1c769d7<br>---<br>M main/cel.c<br>1 file changed, 9 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/89/10889/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/main/cel.c b/main/cel.c</span><br><span>index feb3bee..f9c5cb9 100644</span><br><span>--- a/main/cel.c</span><br><span>+++ b/main/cel.c</span><br><span>@@ -497,13 +497,20 @@</span><br><span> {</span><br><span>       RAII_VAR(struct cel_config *, cfg, ao2_global_obj_ref(cel_configs), ao2_cleanup);</span><br><span>    RAII_VAR(char *, app, NULL, ao2_cleanup);</span><br><span style="color: hsl(0, 100%, 40%);">-       char *app_lower;</span><br><span style="color: hsl(120, 100%, 40%);">+      char *app_lower, *str;</span><br><span> </span><br><span>   if (!cfg || !cfg->general) {</span><br><span>              return 0;</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   app_lower = ast_str_to_lower(ast_strdupa(const_app));</span><br><span style="color: hsl(120, 100%, 40%);">+ app_lower = ast_strdupa(const_app);</span><br><span style="color: hsl(120, 100%, 40%);">+   str = app_lower;</span><br><span style="color: hsl(120, 100%, 40%);">+      for (; *str; ++str) {</span><br><span style="color: hsl(120, 100%, 40%);">+         if ((*str >= 'A') && (*str <= 'Z')) {</span><br><span style="color: hsl(120, 100%, 40%);">+                   *str += 32;</span><br><span style="color: hsl(120, 100%, 40%);">+           }</span><br><span style="color: hsl(120, 100%, 40%);">+     }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  app = ao2_find(cfg->general->apps, app_lower, OBJ_SEARCH_KEY);</span><br><span>         if (!app) {</span><br><span>          return 0;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/10889">change 10889</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/10889"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 16 </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ied32e0071f12ed9d5f3b4cdd878b2532a1c769d7 </div>
<div style="display:none"> Gerrit-Change-Number: 10889 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Chris Savinovich <csavinovich@digium.com> </div>