Doxygen documentation update from oej (issue #5505)
[asterisk/asterisk.git] / apps / app_page.c
index aac200b..8db0356 100755 (executable)
@@ -16,9 +16,9 @@
  *
  */
 
-/*
+/*! \file
  *
- * Paging application
+ * \brief page() - Paging application
  *
  */
 
@@ -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)