<p>George Joseph <strong>submitted</strong> this change.</p><p><a href="https://gerrit.asterisk.org/c/asterisk/+/16539">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Kevin Harwell: Looks good to me, but someone else must approve
  George Joseph: Looks good to me, approved; Approved for Submit

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">main/say.c: Support future dates with Q and q format params<br><br>The current versions do not support future dates in all say application when using the 'Q' or 'q' format parameter and says "today" for everything that is greater than today<br><br>ASTERISK-29637<br><br>Change-Id: I1fb1cef0ce3c18d87b1fc94ea309d13bc344af02<br>---<br>M main/say.c<br>1 file changed, 34 insertions(+), 3 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/main/say.c b/main/say.c</span><br><span>index 5bb7f5a..875d4e2 100644</span><br><span>--- a/main/say.c</span><br><span>+++ b/main/say.c</span><br><span>@@ -4552,7 +4552,22 @@</span><br><span>                                         /* This might be slightly off, if we transcend a leap second, but never more off than 1 second */</span><br><span>                                    /* In any case, it saves not having to do ast_mktime() */</span><br><span>                                    beg_today = now.tv_sec - (tmnow.tm_hour * 3600) - (tmnow.tm_min * 60) - (tmnow.tm_sec);</span><br><span style="color: hsl(0, 100%, 40%);">-                                 if (beg_today < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                       if (beg_today + 15768000 < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                            /* More than 6 months from now - "April nineteenth two thousand three" */</span><br><span style="color: hsl(120, 100%, 40%);">+                                           res = ast_say_date_with_format_en(chan, t, ints, lang, "BdY", tzone);</span><br><span style="color: hsl(120, 100%, 40%);">+                                       } else if (beg_today + 2628000 < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                              /* Less than 6 months from now - "August seventh" */</span><br><span style="color: hsl(120, 100%, 40%);">+                                                res = ast_say_date_with_format_en(chan, t, ints, lang, "Bd", tzone);</span><br><span style="color: hsl(120, 100%, 40%);">+                                        } else if (beg_today + 86400 * 6 < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                            /* Less than a month from now - "Sunday, October third" */</span><br><span style="color: hsl(120, 100%, 40%);">+                                          res = ast_say_date_with_format_en(chan, t, ints, lang, "ABd", tzone);</span><br><span style="color: hsl(120, 100%, 40%);">+                                       } else if (beg_today + 172800 < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                               /* Within the next week */</span><br><span style="color: hsl(120, 100%, 40%);">+                                            res = ast_say_date_with_format_en(chan, t, ints, lang, "A", tzone);</span><br><span style="color: hsl(120, 100%, 40%);">+                                 } else if (beg_today + 86400 < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                                /* Tomorrow */</span><br><span style="color: hsl(120, 100%, 40%);">+                                                res = wait_file(chan, ints, "digits/tomorrow", lang);</span><br><span style="color: hsl(120, 100%, 40%);">+                                       } else if (beg_today < t) {</span><br><span>                                               /* Today */</span><br><span>                                          res = wait_file(chan, ints, "digits/today", lang);</span><br><span>                                         } else if (beg_today - 86400 < t) {</span><br><span>@@ -4588,9 +4603,25 @@</span><br><span>                                      /* This might be slightly off, if we transcend a leap second, but never more off than 1 second */</span><br><span>                                    /* In any case, it saves not having to do ast_mktime() */</span><br><span>                                    beg_today = now.tv_sec - (tmnow.tm_hour * 3600) - (tmnow.tm_min * 60) - (tmnow.tm_sec);</span><br><span style="color: hsl(0, 100%, 40%);">-                                 if (beg_today < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                       if (beg_today + 15768000 < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                            /* More than 6 months from now - "April nineteenth two thousand three" */</span><br><span style="color: hsl(120, 100%, 40%);">+                                           res = ast_say_date_with_format_en(chan, t, ints, lang, "BdY", tzone);</span><br><span style="color: hsl(120, 100%, 40%);">+                                       } else if (beg_today + 2628000 < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                              /* Less than 6 months from now - "August seventh" */</span><br><span style="color: hsl(120, 100%, 40%);">+                                                res = ast_say_date_with_format_en(chan, t, ints, lang, "Bd", tzone);</span><br><span style="color: hsl(120, 100%, 40%);">+                                        } else if (beg_today + 86400 * 6 < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                            /* Less than a month from now - "Sunday, October third" */</span><br><span style="color: hsl(120, 100%, 40%);">+                                          res = ast_say_date_with_format_en(chan, t, ints, lang, "ABd", tzone);</span><br><span style="color: hsl(120, 100%, 40%);">+                                       } else if (beg_today + 172800 < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                               /* Within the next week */</span><br><span style="color: hsl(120, 100%, 40%);">+                                            res = ast_say_date_with_format_en(chan, t, ints, lang, "A", tzone);</span><br><span style="color: hsl(120, 100%, 40%);">+                                 } else if (beg_today + 86400 < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                                /* Tomorrow */</span><br><span style="color: hsl(120, 100%, 40%);">+                                                res = wait_file(chan, ints, "digits/tomorrow", lang);</span><br><span style="color: hsl(120, 100%, 40%);">+                                       } else if (beg_today < t) {</span><br><span>                                               /* Today */</span><br><span style="color: hsl(0, 100%, 40%);">-                                     } else if ((beg_today - 86400) < t) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                              res = wait_file(chan, ints, "digits/today", lang);</span><br><span style="color: hsl(120, 100%, 40%);">+                                  } else if (beg_today - 86400 < t) {</span><br><span>                                               /* Yesterday */</span><br><span>                                              res = wait_file(chan, ints, "digits/yesterday", lang);</span><br><span>                                     } else if (beg_today - 86400 * 6 < t) {</span><br><span></span><br></pre><div style="white-space:pre-wrap"></div><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/16539">change 16539</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/c/asterisk/+/16539"/><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-Change-Id: I1fb1cef0ce3c18d87b1fc94ea309d13bc344af02 </div>
<div style="display:none"> Gerrit-Change-Number: 16539 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: Shloime Rosenblum <shloimerosenblum@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation </div>
<div style="display:none"> Gerrit-Reviewer: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>