From 6bec8fdd72991b305b39ee2941b12a5d3b76ceec Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Fri, 3 Nov 2017 16:14:15 -0500 Subject: stasis/app.c: Optimize stasis_app_get_debug_by_name() * Eliminate RAII_VAR() * Short circuit application name lookup if global debug enabled. Change-Id: I5f78b7bd6ca7fd2c3b07cbbe036c6a93b4681123 --- res/stasis/app.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/res/stasis/app.c b/res/stasis/app.c index b0bcf3c42..0b44bf3c6 100644 --- a/res/stasis/app.c +++ b/res/stasis/app.c @@ -871,9 +871,21 @@ int stasis_app_get_debug(struct stasis_app *app) int stasis_app_get_debug_by_name(const char *app_name) { - RAII_VAR(struct stasis_app *, app, stasis_app_get_by_name(app_name), ao2_cleanup); + int debug_enabled = 0; - return (app ? app->debug : 0) || global_debug; + if (global_debug) { + debug_enabled = 1; + } else { + struct stasis_app *app = stasis_app_get_by_name(app_name); + + if (app) { + if (app->debug) { + debug_enabled = 1; + } + ao2_ref(app, -1); + } + } + return debug_enabled; } void stasis_app_set_global_debug(int debug) -- cgit v1.2.3