• Home
  • Raw
  • Download

Lines Matching refs:query

112 static void vpr_info_dq(const struct ddebug_query *query, const char *msg)  in vpr_info_dq()  argument
117 if (query->format) { in vpr_info_dq()
118 fmtlen = strlen(query->format); in vpr_info_dq()
119 while (fmtlen && query->format[fmtlen - 1] == '\n') in vpr_info_dq()
125 query->function ? query->function : "", in vpr_info_dq()
126 query->filename ? query->filename : "", in vpr_info_dq()
127 query->module ? query->module : "", in vpr_info_dq()
128 fmtlen, query->format ? query->format : "", in vpr_info_dq()
129 query->first_lineno, query->last_lineno); in vpr_info_dq()
138 static int ddebug_change(const struct ddebug_query *query, in ddebug_change() argument
152 if (query->module && in ddebug_change()
153 !match_wildcard(query->module, dt->mod_name)) in ddebug_change()
160 if (query->filename && in ddebug_change()
161 !match_wildcard(query->filename, dp->filename) && in ddebug_change()
162 !match_wildcard(query->filename, in ddebug_change()
164 !match_wildcard(query->filename, in ddebug_change()
169 if (query->function && in ddebug_change()
170 !match_wildcard(query->function, dp->function)) in ddebug_change()
174 if (query->format && in ddebug_change()
175 !strstr(dp->format, query->format)) in ddebug_change()
179 if (query->first_lineno && in ddebug_change()
180 dp->lineno < query->first_lineno) in ddebug_change()
182 if (query->last_lineno && in ddebug_change()
183 dp->lineno > query->last_lineno) in ddebug_change()
312 struct ddebug_query *query, const char *modname) in ddebug_parse_query() argument
322 memset(query, 0, sizeof(*query)); in ddebug_parse_query()
326 query->module = modname; in ddebug_parse_query()
330 rc = check_set(&query->function, words[i+1], "func"); in ddebug_parse_query()
332 rc = check_set(&query->filename, words[i+1], "file"); in ddebug_parse_query()
334 rc = check_set(&query->module, words[i+1], "module"); in ddebug_parse_query()
339 rc = check_set(&query->format, words[i+1], "format"); in ddebug_parse_query()
343 if (query->first_lineno || query->last_lineno) { in ddebug_parse_query()
349 if (parse_lineno(first, &query->first_lineno) < 0) in ddebug_parse_query()
353 if (parse_lineno(last, &query->last_lineno) < 0) in ddebug_parse_query()
357 if (query->last_lineno == 0) in ddebug_parse_query()
358 query->last_lineno = UINT_MAX; in ddebug_parse_query()
360 if (query->last_lineno < query->first_lineno) { in ddebug_parse_query()
362 query->last_lineno, in ddebug_parse_query()
363 query->first_lineno); in ddebug_parse_query()
367 query->last_lineno = query->first_lineno; in ddebug_parse_query()
376 vpr_info_dq(query, "parsed"); in ddebug_parse_query()
440 struct ddebug_query query; in ddebug_exec_query() local
455 if (ddebug_parse_query(words, nwords-1, &query, modname)) { in ddebug_exec_query()
460 nfound = ddebug_change(&query, flags, mask); in ddebug_exec_query()
461 vpr_info_dq(&query, nfound ? "applied" : "no-match"); in ddebug_exec_query()
470 static int ddebug_exec_queries(char *query, const char *modname) in ddebug_exec_queries() argument
475 for (i = 0; query; query = split) { in ddebug_exec_queries()
476 split = strpbrk(query, ";\n"); in ddebug_exec_queries()
480 query = skip_spaces(query); in ddebug_exec_queries()
481 if (!query || !*query || *query == '#') in ddebug_exec_queries()
484 vpr_info("query %d: \"%s\"\n", i, query); in ddebug_exec_queries()
486 rc = ddebug_exec_query(query, modname); in ddebug_exec_queries()