Merge my applicationmap_fixup branch to address the issues described in this
[asterisk/asterisk.git] / res / res_convert.c
index 2451dd8..c62aba4 100644 (file)
  *
  */ 
 
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
+
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 
-#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
-
 #include "asterisk/channel.h"
 #include "asterisk/logger.h"
 #include "asterisk/module.h"
 #include "asterisk/cli.h"
 #include "asterisk/file.h"
 
-STANDARD_USECOUNT_DECL;
-
-static char *desc = "File format conversion CLI command";
+struct module_symbols *me;
 
 /*! \brief Split the filename to basename and extension */
 static int split_ext(char *filename, char **name, char **ext)
@@ -67,15 +66,15 @@ static int cli_audio_convert(int fd, int argc, char *argv[])
        char *file_in = NULL, *file_out = NULL;
        char *name_in, *ext_in, *name_out, *ext_out;
        
-       STANDARD_INCREMENT_USECOUNT;
+       ast_atomic_fetchadd_int(&me->usecnt, +1);
        
        if (argc != 3 || ast_strlen_zero(argv[1]) || ast_strlen_zero(argv[2])) {
                ret = RESULT_SHOWUSAGE;
                goto fail_out;  
        }
 
-       if (!(file_in = ast_strdupa(argv[1])) || !(file_out = ast_strdupa(argv[2])))
-               goto fail_out;
+       file_in = ast_strdupa(argv[1]);
+       file_out = ast_strdupa(argv[2]);
 
        if (split_ext(file_in, &name_in, &ext_in)) {
                ast_cli(fd, "'%s' is an invalid filename!\n", argv[1]);
@@ -118,7 +117,7 @@ fail_out:
        if (fs_in) 
                ast_closestream(fs_in);
 
-       STANDARD_DECREMENT_USECOUNT;
+       ast_atomic_fetchadd_int(&me->usecnt, -1);
        
        return ret;
 }
@@ -134,32 +133,25 @@ static struct ast_cli_entry audio_convert_cli={
        { "convert" , NULL }, cli_audio_convert, "Convert audio files", usage_audio_convert
 };
 
-int unload_module(void)
+static int unload_module(void *mod)
 {
        return ast_cli_unregister(&audio_convert_cli);
 }
 
-int load_module(void)
+static int load_module(void *mod)
 {
+       me = mod;
        return ast_cli_register(&audio_convert_cli);
 }
 
-char *description(void)
+static const char *description(void)
 {
-       return desc;
-}
-
-int usecount(void)
-{
-       int res;
-       
-       STANDARD_USECOUNT(res);
-
-       return res;
+       return "File format conversion CLI command";
 }
 
-char *key()
+static const char *key(void)
 {
        return ASTERISK_GPL_KEY;
 }
 
+STD_MOD1;