Make appropriate items parse using '|' instead of ','
authorMatthew Jordan <mjordan@digium.com>
Mon, 1 Apr 2013 14:44:30 +0000 (14:44 +0000)
committerMatthew Jordan <mjordan@digium.com>
Mon, 1 Apr 2013 14:44:30 +0000 (14:44 +0000)
This patch fixes a bug introduced in r76703, wherein Asterisk could only parse
arguments in the so-called 'recommended' way, e.g., NoOp(foo,bar). The proper
syntax of NoOp,foo|bar is now parsed correctly.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384452 65c4cc65-6c06-0410-ace0-fbb531ad65f3

include/asterisk/app.h
main/xmldoc.c

index 75d1fbb..87e0b5d 100644 (file)
@@ -864,13 +864,13 @@ int ast_app_group_list_unlock(void);
   \param parse A modifiable buffer containing the input to be parsed
 
   This function will separate the input string using the standard argument
-  separator character ',' and fill in the provided structure, including
+  separator character '|' and fill in the provided structure, including
   the argc argument counter field.
  */
 #define AST_STANDARD_APP_ARGS(args, parse) \
-       args.argc = __ast_app_separate_args(parse, ',', 1, args.argv, ((sizeof(args) - offsetof(typeof(args), argv)) / sizeof(args.argv[0])))
+       args.argc = __ast_app_separate_args(parse, '|', 1, args.argv, ((sizeof(args) - offsetof(typeof(args), argv)) / sizeof(args.argv[0])))
 #define AST_STANDARD_RAW_ARGS(args, parse) \
-       args.argc = __ast_app_separate_args(parse, ',', 0, args.argv, ((sizeof(args) - offsetof(typeof(args), argv)) / sizeof(args.argv[0])))
+       args.argc = __ast_app_separate_args(parse, '|', 0, args.argv, ((sizeof(args) - offsetof(typeof(args), argv)) / sizeof(args.argv[0])))
 
 /*!
   \brief Performs the 'nonstandard' argument separation process for an application.
index 2dd3432..2ede824 100644 (file)
@@ -709,13 +709,13 @@ static char *xmldoc_get_syntax_fun(struct ast_xml_node *rootnode, const char *ro
        }
 
        /* Get the argument separator from the root node attribute name 'argsep', if not found
-       defaults to ','. */
+       defaults to '|'. */
        attrargsep = ast_xml_get_attribute(rootnode, "argsep");
        if (attrargsep) {
                argsep = ast_strdupa(attrargsep);
                ast_xml_free_attr(attrargsep);
        } else {
-               argsep = ast_strdupa(",");
+               argsep = ast_strdupa("|");
        }
 
        /* Get order of evaluation. */