+ if (file_type == G_FILE_TYPE_UNKNOWN ||
+ (file_type == G_FILE_TYPE_SYMBOLIC_LINK && !(local->flags & G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS)))
+ {
+ info = _g_local_file_info_get (filename, path,
+ local->matcher,
+ local->flags,
+ &local->parent_info,
+ &my_error);
+ }
+ else
+ {
+ info = _g_local_file_info_get (filename, path,
+ local->reduced_matcher,
+ local->flags,
+ &local->parent_info,
+ &my_error);
+ if (info)
+ {
+ _g_local_file_info_get_nostat (info, filename, path, local->matcher);
+ g_file_info_set_file_type (info, file_type);
+ if (file_type == G_FILE_TYPE_SYMBOLIC_LINK)
+ g_file_info_set_is_symlink (info, TRUE);
+ }
+ }