Merge branch 'wip/smcv/rewinddir' into 'master'

glnx-dirfd: Add a rewinddir() wrapper

See merge request GNOME/libglnx!25
This commit is contained in:
Colin Walters
2021-06-28 14:07:14 +00:00
2 changed files with 19 additions and 0 deletions

View File

@@ -173,6 +173,24 @@ glnx_dirfd_iterator_next_dent (GLnxDirFdIterator *dfd_iter,
return TRUE;
}
/**
* glnx_dirfd_iterator_rewind:
* @dfd_iter: A directory iterator
*
* Rewind to the beginning of @dfd_iter. The next call to
* glnx_dirfd_iterator_next_dent() will provide the first entry in the
* directory.
*/
void
glnx_dirfd_iterator_rewind (GLnxDirFdIterator *dfd_iter)
{
GLnxRealDirfdIterator *real_dfd_iter = (GLnxRealDirfdIterator*) dfd_iter;
g_return_if_fail (dfd_iter->initialized);
rewinddir (real_dfd_iter->d);
}
/**
* glnx_dirfd_iterator_next_dent_ensure_dtype:
* @dfd_iter: A directory iterator

View File

@@ -66,6 +66,7 @@ gboolean glnx_dirfd_iterator_next_dent_ensure_dtype (GLnxDirFdIterator *dfd_ite
struct dirent **out_dent,
GCancellable *cancellable,
GError **error);
void glnx_dirfd_iterator_rewind (GLnxDirFdIterator *dfd_iter);
void glnx_dirfd_iterator_clear (GLnxDirFdIterator *dfd_iter);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GLnxDirFdIterator, glnx_dirfd_iterator_clear)