Doxygen documentation update from oej (issue #5505)
[asterisk/asterisk.git] / apps / app_page.c
index 5238b19..8db0356 100755 (executable)
@@ -16,9 +16,9 @@
  *
  */
 
-/*
+/*! \file
  *
- * Page application
+ * \brief page() - Paging application
  *
  */
 
@@ -53,8 +53,8 @@ static const char *page_descrip =
 "them into a conference bridge as muted participants.  The original\n"
 "caller is dumped into the conference as a speaker and the room is\n"
 "destroyed when the original caller leaves.  Valid options are:\n"
-"        d - full duplex audio\n"
-"                      q - quiet, do not play beep to caller\n"
+"      d - full duplex audio\n"
+"      q - quiet, do not play beep to caller\n"
 "Always returns -1.\n";
 
 STANDARD_LOCAL_USER;
@@ -65,8 +65,8 @@ LOCAL_USER_DECL;
 #define PAGE_QUIET  (1 << 1)
 
 AST_DECLARE_OPTIONS(page_opts,{
-        ['d'] = { PAGE_DUPLEX },
-                 ['q'] = { PAGE_QUIET },
+       ['d'] = { PAGE_DUPLEX },
+       ['q'] = { PAGE_QUIET },
 });
 
 struct calloutdata {
@@ -120,25 +120,25 @@ static int page_exec(struct ast_channel *chan, void *data)
        char *tmp;
        int res=0;
 
-       if (!data)
-               return -1;
-
-       if (ast_strlen_zero(data)) {
+       if (!data || ast_strlen_zero(data)) {
                ast_log(LOG_WARNING, "This application requires at least one argument (destination(s) to page)\n");
                return -1;
        }
 
+       LOCAL_USER_ADD(u);
+
        if (!(app = pbx_findapp("MeetMe"))) {
                ast_log(LOG_WARNING, "There is no MeetMe application available!\n");
+               LOCAL_USER_REMOVE(u);
                return -1;
        };
 
-       if (!(options = ast_strdupa((char *) data))) {
+       options = ast_strdupa(data);
+       if (!options) {
                ast_log(LOG_ERROR, "Out of memory\n");
+               LOCAL_USER_REMOVE(u);
                return -1;
        }
-               
-       LOCAL_USER_ADD(u);
 
        tmp = strsep(&options, "|");
        if (options)
@@ -170,9 +170,13 @@ static int page_exec(struct ast_channel *chan, void *data)
 
 int unload_module(void)
 {
+       int res;
+
+       res =  ast_unregister_application(app_page);
+
        STANDARD_HANGUP_LOCALUSERS;
 
-       return ast_unregister_application(app_page);
+       return res;
 }
 
 int load_module(void)