diff options
Diffstat (limited to 'lib/dynamic_debug.c')
| -rw-r--r-- | lib/dynamic_debug.c | 11 | 
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index d232025cb85..b199e093505 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -115,27 +115,26 @@ static void ddebug_change(const struct ddebug_query *query,  	list_for_each_entry(dt, &ddebug_tables, link) {  		/* match against the module name */ -		if (query->module != NULL && -		    strcmp(query->module, dt->mod_name)) +		if (query->module && strcmp(query->module, dt->mod_name))  			continue;  		for (i = 0 ; i < dt->num_ddebugs ; i++) {  			struct _ddebug *dp = &dt->ddebugs[i];  			/* match against the source filename */ -			if (query->filename != NULL && +			if (query->filename &&  			    strcmp(query->filename, dp->filename) &&  			    strcmp(query->filename, basename(dp->filename)))  				continue;  			/* match against the function */ -			if (query->function != NULL && +			if (query->function &&  			    strcmp(query->function, dp->function))  				continue;  			/* match against the format */ -			if (query->format != NULL && -			    strstr(dp->format, query->format) == NULL) +			if (query->format && +			    !strstr(dp->format, query->format))  				continue;  			/* match against the line number range */  |