GFile: Add g_file_peek_path()

This is a variant of g_file_get_path() which returns a const string to
the caller, rather than transferring ownership.

I've been carrying `gs_file_get_path_cached()` in libgsystem and it
has seen a lot of use in the ostree and flatpak codebases.  There are
probably others too.

I think language bindings like Python/Gjs could also use this to avoid
an extra malloc (i.e. we could transparently replace
`g_file_get_path()` with `g_file_peek_path()`.

(Originally by Colin Walters. Tweaked by Philip Withnall to update to
2.56, change the function name and drop the locking.)

https://bugzilla.gnome.org/show_bug.cgi?id=767976
This commit is contained in:
Colin Walters
2016-06-23 08:42:53 -04:00
committed by Philip Withnall
parent 261cb8ea86
commit 4808a957b5
4 changed files with 109 additions and 3 deletions

View File

@@ -91,6 +91,7 @@ g_file_hash
g_file_equal
g_file_get_basename
g_file_get_path
g_file_peek_path
g_file_get_uri
g_file_get_parse_name
g_file_get_parent