summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2017-10-16 11:53:07 -0400
committerCorey Farrell <git@cfware.com>2017-10-18 09:54:58 -0500
commit955a891a84203fdab9dade2049bb8268d69a2949 (patch)
treee87263919db6fc073b513400f29a9216bd11848a /apps
parent3a2b132411c88d2b2494c3085c79253256bda053 (diff)
app_macro deprecation.
* Mark the module deprecated. * Disable the module by default. * Produce a warning the first time a macro is used. * Note deprecation related options in app_dial and app_queue. ASTERISK-27350 Change-Id: I560ea043bacdbc5534a17d97854273d52c2f1bdc
Diffstat (limited to 'apps')
-rw-r--r--apps/app_dial.c4
-rw-r--r--apps/app_macro.c12
-rw-r--r--apps/app_queue.c3
3 files changed, 17 insertions, 2 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c
index 847a095f4..8c51f3f1a 100644
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -324,6 +324,10 @@
<warning><para>Be aware of the limitations that macros have, specifically with regards to use of
the <literal>WaitExten</literal> application. For more information, see the documentation for
<literal>Macro()</literal>.</para></warning>
+ <note>
+ <para>Macros are deprecated, GoSub should be used instead,
+ see the <literal>U</literal> option.</para>
+ </note>
</option>
<option name="n">
<argument name="delete">
diff --git a/apps/app_macro.c b/apps/app_macro.c
index 4ef525295..c6f051ea0 100644
--- a/apps/app_macro.c
+++ b/apps/app_macro.c
@@ -26,7 +26,8 @@
*/
/*** MODULEINFO
- <support_level>core</support_level>
+ <defaultenabled>no</defaultenabled>
+ <support_level>deprecated</support_level>
<replacement>app_stack (GoSub)</replacement>
***/
@@ -250,12 +251,19 @@ static int _macro_exec(struct ast_channel *chan, const char *data, int exclusive
char *save_macro_offset;
int save_in_subroutine;
struct ast_datastore *macro_store = ast_channel_datastore_find(chan, &macro_ds_info, NULL);
+ static int deprecation_notice = 0;
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Macro() requires arguments. See \"core show application macro\" for help.\n");
return -1;
}
+ if (!deprecation_notice) {
+ deprecation_notice = 1;
+ ast_log(LOG_WARNING, "Macro() is deprecated and will be removed from a future version of Asterisk.\n");
+ ast_log(LOG_WARNING, "Dialplan should be updated to use Gosub instead.\n");
+ }
+
do {
if (macro_store) {
break;
@@ -665,4 +673,4 @@ static int load_module(void)
return res;
}
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Extension Macros");
+AST_MODULE_INFO_STANDARD_DEPRECATED(ASTERISK_GPL_KEY, "Extension Macros");
diff --git a/apps/app_queue.c b/apps/app_queue.c
index e3a4e22a9..801695fff 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -235,6 +235,9 @@
</parameter>
<parameter name="macro">
<para>Will run a macro on the called party's channel (the queue member) once the parties are connected.</para>
+ <note>
+ <para>Macros are deprecated, GoSub should be used instead.</para>
+ </note>
</parameter>
<parameter name="gosub">
<para>Will run a gosub on the called party's channel (the queue member) once the parties are connected.</para>