From 6cfafdeb37cfbe836627484ce4741f13bc00609e Mon Sep 17 00:00:00 2001
From: George Joseph <gjoseph@sangoma.com>
Date: Mon, 10 Jul 2023 07:52:32 -0600
Subject: [PATCH] app.h: Move declaration of ast_getdata_result before its
 first use

The ast_app_getdata() and ast_app_getdata_terminator() declarations
in app.h were changed recently to return enum ast_getdata_result
(which is how they were defined in app.c).  The existing
declaration of ast_getdata_result in app.h was about 1000 lines
after those functions however so under certain circumstances,
a "use before declaration" error was thrown by the compiler.
The declaration of the enum was therefore moved to before those
functions.

Resolves: #200
---
 include/asterisk/app.h | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/include/asterisk/app.h b/include/asterisk/app.h
index 7df12c2c56..3431e7b5dd 100644
--- a/include/asterisk/app.h
+++ b/include/asterisk/app.h
@@ -125,6 +125,16 @@ enum ast_timelen {
 */
 int ast_ivr_menu_run(struct ast_channel *c, struct ast_ivr_menu *menu, void *cbdata);
 
+enum ast_getdata_result {
+	AST_GETDATA_FAILED = -1,
+	AST_GETDATA_COMPLETE = 0,
+	AST_GETDATA_TIMEOUT = 1,
+	AST_GETDATA_INTERRUPTED = 2,
+	/*! indicates a user terminated empty string rather than an empty string resulting
+	 * from a timeout or other factors */
+	AST_GETDATA_EMPTY_END_TERMINATED = 3,
+};
+
 /*! \brief Plays a stream and gets DTMF data from a channel
  * \param c Which channel one is interacting with
  * \param prompt File to pass to ast_streamfile (the one that you wish to play).
@@ -1195,16 +1205,6 @@ int ast_play_and_record(struct ast_channel *chan, const char *playfile, const ch
  */
 int ast_play_and_prepend(struct ast_channel *chan, char *playfile, char *recordfile, int maxtime_sec, char *fmt, int *duration, int *sound_duration, int beep, int silencethreshold, int maxsilence_ms);
 
-enum ast_getdata_result {
-	AST_GETDATA_FAILED = -1,
-	AST_GETDATA_COMPLETE = 0,
-	AST_GETDATA_TIMEOUT = 1,
-	AST_GETDATA_INTERRUPTED = 2,
-	/*! indicates a user terminated empty string rather than an empty string resulting
-	 * from a timeout or other factors */
-	AST_GETDATA_EMPTY_END_TERMINATED = 3,
-};
-
 enum AST_LOCK_RESULT {
 	AST_LOCK_SUCCESS = 0,
 	AST_LOCK_TIMEOUT = -1,
-- 
GitLab