Function
GLibfile_read_link
since: 2.4
Declaration [src]
gchar*
g_file_read_link (
const gchar* filename,
GError** error
)
Description [src]
Reads the contents of the symbolic link filename
like the POSIX
readlink()
function.
The returned string is in the encoding used for filenames. Use
g_filename_to_utf8()
to convert it to UTF-8.
The returned string may also be a relative path. Use g_build_filename()
to convert it to an absolute path:
g_autoptr(GError) local_error = NULL;
g_autofree gchar *link_target = g_file_read_link ("/etc/localtime", &local_error);
if (local_error != NULL)
g_error ("Error reading link: %s", local_error->message);
if (!g_path_is_absolute (link_target))
{
g_autofree gchar *absolute_link_target = g_build_filename ("/etc", link_target, NULL);
g_free (link_target);
link_target = g_steal_pointer (&absolute_link_target);
}
Available since: 2.4
Parameters
filename
-
Type:
const gchar*
The symbolic link.
The data is owned by the caller of the function. The value is a platform-native string, using the preferred OS encoding on Unix and UTF-8 on Windows. error
-
Type:
GError **
The return location for a recoverable error.
The argument can be NULL
.If the return location is not NULL
, then you must initialize it to aNULL
GError*
.The argument will be left initialized to NULL
by the function if there are no errors.In case of error, the argument will be set to a newly allocated GError
; the caller will take ownership of the data, and be responsible for freeing it.
Return value
Type: gchar*
A newly-allocated string with
the contents of the symbolic link, or NULL
if an error occurred.
The caller of the function takes ownership of the data, and is responsible for freeing it. |
The value is a platform-native string, using the preferred OS encoding on Unix and UTF-8 on Windows. |