[Asterisk-code-review] main/say.c: Support future dates with Q and q format params (asterisk[16])

George Joseph asteriskteam at digium.com
Tue Sep 28 12:08:56 CDT 2021


George Joseph has submitted this change. ( https://gerrit.asterisk.org/c/asterisk/+/16539 )

Change subject: main/say.c: Support future dates with Q and q format params
......................................................................

main/say.c: Support future dates with Q and q format params

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

ASTERISK-29637

Change-Id: I1fb1cef0ce3c18d87b1fc94ea309d13bc344af02
---
M main/say.c
1 file changed, 34 insertions(+), 3 deletions(-)

Approvals:
  Kevin Harwell: Looks good to me, but someone else must approve
  George Joseph: Looks good to me, approved; Approved for Submit



diff --git a/main/say.c b/main/say.c
index 5bb7f5a..875d4e2 100644
--- a/main/say.c
+++ b/main/say.c
@@ -4552,7 +4552,22 @@
 					/* This might be slightly off, if we transcend a leap second, but never more off than 1 second */
 					/* In any case, it saves not having to do ast_mktime() */
 					beg_today = now.tv_sec - (tmnow.tm_hour * 3600) - (tmnow.tm_min * 60) - (tmnow.tm_sec);
-					if (beg_today < t) {
+					if (beg_today + 15768000 < t) {
+						/* More than 6 months from now - "April nineteenth two thousand three" */
+						res = ast_say_date_with_format_en(chan, t, ints, lang, "BdY", tzone);
+					} else if (beg_today + 2628000 < t) {
+						/* Less than 6 months from now - "August seventh" */
+						res = ast_say_date_with_format_en(chan, t, ints, lang, "Bd", tzone);
+					} else if (beg_today + 86400 * 6 < t) {
+						/* Less than a month from now - "Sunday, October third" */
+						res = ast_say_date_with_format_en(chan, t, ints, lang, "ABd", tzone);
+					} else if (beg_today + 172800 < t) {
+						/* Within the next week */
+						res = ast_say_date_with_format_en(chan, t, ints, lang, "A", tzone);
+					} else if (beg_today + 86400 < t) {
+						/* Tomorrow */
+						res = wait_file(chan, ints, "digits/tomorrow", lang);
+					} else if (beg_today < t) {
 						/* Today */
 						res = wait_file(chan, ints, "digits/today", lang);
 					} else if (beg_today - 86400 < t) {
@@ -4588,9 +4603,25 @@
 					/* This might be slightly off, if we transcend a leap second, but never more off than 1 second */
 					/* In any case, it saves not having to do ast_mktime() */
 					beg_today = now.tv_sec - (tmnow.tm_hour * 3600) - (tmnow.tm_min * 60) - (tmnow.tm_sec);
-					if (beg_today < t) {
+					if (beg_today + 15768000 < t) {
+						/* More than 6 months from now - "April nineteenth two thousand three" */
+						res = ast_say_date_with_format_en(chan, t, ints, lang, "BdY", tzone);
+					} else if (beg_today + 2628000 < t) {
+						/* Less than 6 months from now - "August seventh" */
+						res = ast_say_date_with_format_en(chan, t, ints, lang, "Bd", tzone);
+					} else if (beg_today + 86400 * 6 < t) {
+						/* Less than a month from now - "Sunday, October third" */
+						res = ast_say_date_with_format_en(chan, t, ints, lang, "ABd", tzone);
+					} else if (beg_today + 172800 < t) {
+						/* Within the next week */
+						res = ast_say_date_with_format_en(chan, t, ints, lang, "A", tzone);
+					} else if (beg_today + 86400 < t) {
+						/* Tomorrow */
+						res = wait_file(chan, ints, "digits/tomorrow", lang);
+					} else if (beg_today < t) {
 						/* Today */
-					} else if ((beg_today - 86400) < t) {
+						res = wait_file(chan, ints, "digits/today", lang);
+					} else if (beg_today - 86400 < t) {
 						/* Yesterday */
 						res = wait_file(chan, ints, "digits/yesterday", lang);
 					} else if (beg_today - 86400 * 6 < t) {

-- 
To view, visit https://gerrit.asterisk.org/c/asterisk/+/16539
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 16
Gerrit-Change-Id: I1fb1cef0ce3c18d87b1fc94ea309d13bc344af02
Gerrit-Change-Number: 16539
Gerrit-PatchSet: 2
Gerrit-Owner: Shloime Rosenblum <shloimerosenblum at gmail.com>
Gerrit-Reviewer: Friendly Automation
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Kevin Harwell <kharwell at digium.com>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20210928/73b8f445/attachment.html>


More information about the asterisk-code-review mailing list