diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2013-10-15 15:28:42 -0400 |
---|---|---|
committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2013-10-15 15:29:36 -0400 |
commit | 8c0ca4717d834a6c578579656683c55ea22a06f4 (patch) | |
tree | f06cf4e7e3cee82f4b3f4bf37d63d5b310477a95 /giscanner/sourcescanner.c | |
parent | 77fcc8fa47d63f58b2c3f6216a0493e42f6d44b3 (diff) | |
download | gobject-introspection-8c0ca4717d834a6c578579656683c55ea22a06f4.tar.gz |
sourcescanner: Do some fast path checks on the filename
Going through the VFS layer is substantially slower, so check against
the base filenames first. This speeds things up on case-sensitive
filesystems.
Diffstat (limited to 'giscanner/sourcescanner.c')
-rw-r--r-- | giscanner/sourcescanner.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/giscanner/sourcescanner.c b/giscanner/sourcescanner.c index 830d21cd..97150292 100644 --- a/giscanner/sourcescanner.c +++ b/giscanner/sourcescanner.c @@ -269,6 +269,11 @@ already_has_current_file (GISourceScanner *scanner) GFile *current_file; g_assert (scanner->current_filename); + + for (l = scanner->filenames; l != NULL; l = l->next) + if (strcmp (scanner->current_filename, l->data) == 0) + return TRUE; + current_file = g_file_new_for_path (scanner->current_filename); for (l = scanner->filenames; l != NULL; l = l->next) |