stasis/app.c: Optimize stasis_app_get_debug_by_name()
authorRichard Mudgett <rmudgett@digium.com>
Fri, 3 Nov 2017 21:14:15 +0000 (16:14 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 6 Nov 2017 17:50:23 +0000 (12:50 -0500)
* Eliminate RAII_VAR()
* Short circuit application name lookup if global debug enabled.

Change-Id: I5f78b7bd6ca7fd2c3b07cbbe036c6a93b4681123

res/stasis/app.c

index b0bcf3c..0b44bf3 100644 (file)
@@ -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)