Lines Matching refs:local
90 free_entries (GLocalFileEnumerator *local) in free_entries() argument
95 if (local->entries != NULL) in free_entries()
97 for (i = 0; local->entries[i].name != NULL; i++) in free_entries()
98 g_free (local->entries[i].name); in free_entries()
100 g_free (local->entries); in free_entries()
108 GLocalFileEnumerator *local; in g_local_file_enumerator_finalize() local
110 local = G_LOCAL_FILE_ENUMERATOR (object); in g_local_file_enumerator_finalize()
112 if (local->got_parent_info) in g_local_file_enumerator_finalize()
113 _g_local_file_info_free_parent_info (&local->parent_info); in g_local_file_enumerator_finalize()
114 g_free (local->filename); in g_local_file_enumerator_finalize()
115 g_file_attribute_matcher_unref (local->matcher); in g_local_file_enumerator_finalize()
116 g_file_attribute_matcher_unref (local->reduced_matcher); in g_local_file_enumerator_finalize()
117 if (local->dir) in g_local_file_enumerator_finalize()
120 g_dir_close (local->dir); in g_local_file_enumerator_finalize()
122 closedir (local->dir); in g_local_file_enumerator_finalize()
124 local->dir = NULL; in g_local_file_enumerator_finalize()
127 free_entries (local); in g_local_file_enumerator_finalize()
146 g_local_file_enumerator_init (GLocalFileEnumerator *local) in g_local_file_enumerator_init() argument
209 GLocalFileEnumerator *local; in _g_local_file_enumerator_new() local
250 local = g_object_new (G_TYPE_LOCAL_FILE_ENUMERATOR, in _g_local_file_enumerator_new()
254 local->dir = dir; in _g_local_file_enumerator_new()
255 local->filename = filename; in _g_local_file_enumerator_new()
256 local->matcher = g_file_attribute_matcher_new (attributes); in _g_local_file_enumerator_new()
258 local->reduced_matcher = g_file_attribute_matcher_subtract_attributes (local->matcher, in _g_local_file_enumerator_new()
262 local->flags = flags; in _g_local_file_enumerator_new()
264 return G_FILE_ENUMERATOR (local); in _g_local_file_enumerator_new()
303 next_file_helper (GLocalFileEnumerator *local, GFileType *file_type) in next_file_helper() argument
309 if (local->at_end) in next_file_helper()
312 if (local->entries == NULL || in next_file_helper()
313 (local->entries[local->entries_pos].name == NULL)) in next_file_helper()
315 if (local->entries == NULL) in next_file_helper()
316 local->entries = g_new (DirEntry, CHUNK_SIZE + 1); in next_file_helper()
320 for (i = 0; local->entries[i].name != NULL; i++) in next_file_helper()
321 g_free (local->entries[i].name); in next_file_helper()
326 entry = readdir (local->dir); in next_file_helper()
330 entry = readdir (local->dir); in next_file_helper()
334 local->entries[i].name = g_strdup (entry->d_name); in next_file_helper()
335 local->entries[i].inode = entry->d_ino; in next_file_helper()
337 local->entries[i].type = file_type_from_dirent (entry->d_type); in next_file_helper()
339 local->entries[i].type = G_FILE_TYPE_UNKNOWN; in next_file_helper()
345 local->entries[i].name = NULL; in next_file_helper()
346 local->entries_pos = 0; in next_file_helper()
348 qsort (local->entries, i, sizeof (DirEntry), sort_by_inode); in next_file_helper()
351 filename = local->entries[local->entries_pos].name; in next_file_helper()
353 local->at_end = TRUE; in next_file_helper()
355 *file_type = local->entries[local->entries_pos].type; in next_file_helper()
357 local->entries_pos++; in next_file_helper()
369 GLocalFileEnumerator *local = G_LOCAL_FILE_ENUMERATOR (enumerator); in g_local_file_enumerator_next_file() local
376 if (!local->got_parent_info) in g_local_file_enumerator_next_file()
378 _g_local_file_info_get_parent_info (local->filename, local->matcher, &local->parent_info); in g_local_file_enumerator_next_file()
379 local->got_parent_info = TRUE; in g_local_file_enumerator_next_file()
385 filename = g_dir_read_name (local->dir); in g_local_file_enumerator_next_file()
388 filename = next_file_helper (local, &file_type); in g_local_file_enumerator_next_file()
395 path = g_build_filename (local->filename, filename, NULL); in g_local_file_enumerator_next_file()
397 … (file_type == G_FILE_TYPE_SYMBOLIC_LINK && !(local->flags & G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS))) in g_local_file_enumerator_next_file()
400 local->matcher, in g_local_file_enumerator_next_file()
401 local->flags, in g_local_file_enumerator_next_file()
402 &local->parent_info, in g_local_file_enumerator_next_file()
408 local->reduced_matcher, in g_local_file_enumerator_next_file()
409 local->flags, in g_local_file_enumerator_next_file()
410 &local->parent_info, in g_local_file_enumerator_next_file()
414 _g_local_file_info_get_nostat (info, filename, path, local->matcher); in g_local_file_enumerator_next_file()
445 GLocalFileEnumerator *local = G_LOCAL_FILE_ENUMERATOR (enumerator); in g_local_file_enumerator_close() local
447 if (local->dir) in g_local_file_enumerator_close()
450 g_dir_close (local->dir); in g_local_file_enumerator_close()
452 closedir (local->dir); in g_local_file_enumerator_close()
454 local->dir = NULL; in g_local_file_enumerator_close()