diff options
author | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-17 18:08:09 +0000 |
---|---|---|
committer | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-17 18:08:09 +0000 |
commit | 2f30a3a6e7ae5721ed086155a63f22c33c495382 (patch) | |
tree | f7eb76f243ca169acc08d6d90b25b1c191e421e3 /main/loader.c | |
parent | 2ee27fd87f55632e832d749c5fe6739a68aeb913 (diff) |
Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@123332 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/loader.c')
-rw-r--r-- | main/loader.c | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/main/loader.c b/main/loader.c index 7dc9f1e11..fb0bb51e0 100644 --- a/main/loader.c +++ b/main/loader.c @@ -754,6 +754,23 @@ static struct load_order_entry *add_to_load_order(const char *resource, struct l return order; } + +static int translate_module_name(const char *oldname, char *newname) +{ + if (!strcasecmp(oldname, "app_zapbarge.so")) + ast_copy_string(newname, "app_dahdibarge.so", 18); + else if(!strcasecmp(oldname, "app_zapras.so")) + ast_copy_string(newname, "app_dahdiras.so", 16); + else if(!strcasecmp(oldname, "app_zapscan.so")) + ast_copy_string(newname, "app_dahdiscan.so", 17); + else if(!strcasecmp(oldname, "codec_zap.so")) + ast_copy_string(newname, "codec_dahdi.so", 16); + else + return -1; /* no use for newname, oldname is fine */ + + return 0; +} + int load_modules(unsigned int preload_only) { struct ast_config *cfg; @@ -765,6 +782,9 @@ int load_modules(unsigned int preload_only) int res = 0; struct ast_flags config_flags = { 0 }; int modulecount = 0; + + int translate_status; + char newname[18]; /* although this would normally be 80, max length in translate_module_name is 18 */ #ifdef LOADABLE_MODULES struct dirent *dirent; DIR *dir; @@ -792,8 +812,12 @@ int load_modules(unsigned int preload_only) /* first, find all the modules we have been explicitly requested to load */ for (v = ast_variable_browse(cfg, "modules"); v; v = v->next) { - if (!strcasecmp(v->name, preload_only ? "preload" : "load")) - add_to_load_order(v->value, &load_order); + if (!strcasecmp(v->name, preload_only ? "preload" : "load")) { + translate_status = translate_module_name(v->value, newname); + if (!translate_status) + ast_log(LOG_WARNING, "Use of old module name %s is deprecated, please use %s instead.\n", v->value, newname); + add_to_load_order(translate_status ? v->value : newname, &load_order); + } } /* check if 'autoload' is on */ @@ -849,7 +873,10 @@ int load_modules(unsigned int preload_only) continue; AST_LIST_TRAVERSE_SAFE_BEGIN(&load_order, order, entry) { - if (!resource_name_match(order->resource, v->value)) { + translate_status = translate_module_name(v->value, newname); + if (!resource_name_match(order->resource, translate_status ? v->value : newname)) { + if (!translate_status) + ast_log(LOG_WARNING, "Use of old module name %s is deprecated, please use %s instead.\n", v->value, newname); AST_LIST_REMOVE_CURRENT(entry); ast_free(order->resource); ast_free(order); |