All pastes #606342 Raw Edit

Something

public c v1 · immutable
·published 2007-07-06 19:58 UTC
rendered paste body
Index: res/res_musiconhold.c===================================================================--- res/res_musiconhold.c       (revision 73759)+++ res/res_musiconhold.c       (working copy)@@ -914,6 +914,19 @@        } }+static struct mohclass *moh_getclass(const char *class)+{+       struct mohclass *mohclass;+       if (!ast_strlen_zero(class)) {+               if (!(mohclass = moh_getbyname(class))) {+                       ast_log(LOG_WARNING, "No Class: %s\n", class);+                       return NULL;+               } else+                       return mohclass;+       } else+               return NULL;+}+ static int local_ast_moh_start(struct ast_channel *chan, const char *mclass, const char *interpclass) {        struct mohclass *mohclass;@@ -930,21 +943,19 @@         *    option.         * 4) The default class.         */-       if (!ast_strlen_zero(chan->musicclass))+       AST_LIST_LOCK(&mohclasses);+       if (mohclass = moh_getclass(chan->musicclass))                class = chan->musicclass;-       else if (!ast_strlen_zero(mclass))+       else if (mohclass = moh_getclass(mclass))                class = mclass;-       else if (!ast_strlen_zero(interpclass))+       else if (mohclass = moh_getclass(interpclass))                class = interpclass;-       else-               class = "default";--       AST_LIST_LOCK(&mohclasses);-       mohclass = get_mohbyname(class);+       else if (mohclass = moh_getclass("default"))+               class = "default";        AST_LIST_UNLOCK(&mohclasses);        if (!mohclass) {-               ast_log(LOG_WARNING, "No class: %s\n", class);+               ast_log(LOG_WARNING, "Could not find acceptable Music on Hold class, ending Music on Hold\n");                return -1;        }