Lines Matching refs:fname
246 void __kmp_str_fname_init(kmp_str_fname_t *fname, char const *path) { in __kmp_str_fname_init() argument
247 fname->path = NULL; in __kmp_str_fname_init()
248 fname->dir = NULL; in __kmp_str_fname_init()
249 fname->base = NULL; in __kmp_str_fname_init()
254 fname->path = __kmp_str_format("%s", path); in __kmp_str_fname_init()
259 __kmp_str_replace(fname->path, '\\', '/'); in __kmp_str_fname_init()
261 fname->dir = __kmp_str_format("%s", fname->path); in __kmp_str_fname_init()
262 slash = strrchr(fname->dir, '/'); in __kmp_str_fname_init()
265 char first = (char)TOLOWER(fname->dir[0]); // look for drive. in __kmp_str_fname_init()
266 if ('a' <= first && first <= 'z' && fname->dir[1] == ':') { in __kmp_str_fname_init()
267 slash = &fname->dir[1]; in __kmp_str_fname_init()
270 base = (slash == NULL ? fname->dir : slash + 1); in __kmp_str_fname_init()
271 fname->base = __kmp_str_format("%s", base); // Copy basename in __kmp_str_fname_init()
277 void __kmp_str_fname_free(kmp_str_fname_t *fname) { in __kmp_str_fname_free() argument
278 __kmp_str_free(&fname->path); in __kmp_str_fname_free()
279 __kmp_str_free(&fname->dir); in __kmp_str_fname_free()
280 __kmp_str_free(&fname->base); in __kmp_str_fname_free()
283 int __kmp_str_fname_match(kmp_str_fname_t const *fname, char const *pattern) { in __kmp_str_fname_match() argument
291 (fname->dir != NULL && __kmp_str_eqf(fname->dir, ptrn.dir)); in __kmp_str_fname_match()
293 (fname->base != NULL && __kmp_str_eqf(fname->base, ptrn.base)); in __kmp_str_fname_match()
388 __kmp_str_fname_init(&loc.fname, init_fname ? loc.file : NULL); in __kmp_str_loc_init()
394 __kmp_str_fname_free(&loc->fname); in __kmp_str_loc_free()