if (!(device_state_sub = ast_event_subscribe(AST_EVENT_DEVICE_STATE, device_state_cb, NULL, AST_EVENT_IE_END)))
res = -1;
- return res;
+ return res ? AST_MODULE_LOAD_DECLINE : 0;
}
static int reload(void)
{
struct ast_app *tmp, *cur = NULL;
char tmps[80];
- int length;
+ int length, res;
AST_RWLIST_WRLOCK(&apps);
AST_RWLIST_TRAVERSE(&apps, tmp, list) {
- if (!strcasecmp(app, tmp->name)) {
+ if (!(res = strcasecmp(app, tmp->name))) {
ast_log(LOG_WARNING, "Already have an application '%s'\n", app);
AST_RWLIST_UNLOCK(&apps);
return -1;
- }
+ } else if (res < 0)
+ break;
}
length = sizeof(*tmp) + strlen(app) + 1;