aboutsummaryrefslogtreecommitdiffstats
path: root/funcs/func_srv.c
diff options
context:
space:
mode:
authormmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2010-04-13 16:15:36 +0000
committermmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2010-04-13 16:15:36 +0000
commit7dfb01c972b6c85de50abdef83ba5f974d568a12 (patch)
tree7cb6857108b9f9ebf3aa9d339a8374f0bcbb9a53 /funcs/func_srv.c
parent8fccf5538ec0556b78cc83046fc61f875f1ea935 (diff)
Address Russell's comments on func_srv from reviewboard.
* Change copyright date * Place channel in autoservice when doing SRV lookup * Get rid of trailing whitespace * Change logic in load_module function git-svn-id: http://svn.digium.com/svn/asterisk/trunk@257025 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'funcs/func_srv.c')
-rw-r--r--funcs/func_srv.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/funcs/func_srv.c b/funcs/func_srv.c
index 9715a276c..dc936c07a 100644
--- a/funcs/func_srv.c
+++ b/funcs/func_srv.c
@@ -1,7 +1,7 @@
/*
* Asterisk -- An open source telephony toolkit.
*
- * Copyright (C) 1999 - 2006 Digium, Inc.
+ * Copyright (C) 1999 - 2010 Digium, Inc.
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
@@ -99,14 +99,17 @@ static struct srv_context *srv_datastore_setup(const char *service, struct ast_c
return NULL;
}
+ ast_autoservice_start(chan);
if (ast_srv_lookup(&srds->context, service, &host, &port) < 0) {
+ ast_autoservice_stop(chan);
ast_log(LOG_NOTICE, "Error performing lookup of service '%s'\n", service);
ast_free(srds);
return NULL;
}
+ ast_autoservice_stop(chan);
strcpy(srds->id, service);
-
+
if (!(datastore = ast_datastore_alloc(&srv_result_datastore_info, srds->id))) {
ast_srv_cleanup(&srds->context);
ast_free(srds);
@@ -245,12 +248,16 @@ static int unload_module(void)
static int load_module(void)
{
- int res = AST_MODULE_LOAD_SUCCESS;
-
- res |= ast_custom_function_register(&srv_query_function);
- res |= ast_custom_function_register(&srv_result_function);
+ int res = ast_custom_function_register(&srv_query_function);
+ if (res < 0) {
+ return AST_MODULE_LOAD_DECLINE;
+ }
+ res = ast_custom_function_register(&srv_result_function);
+ if (res < 0) {
+ return AST_MODULE_LOAD_DECLINE;
+ }
- return res;
+ return AST_MODULE_LOAD_SUCCESS;;
}
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "SRV related dialplan functions");