fileReadLink

fnstring fileReadLink(string filename)

Reads the contents of the symbolic link filename like the POSIX readlink() function.

The returned string is in the encoding used for filenames. Use [glib.global.filenameToUtf8] to convert it to UTF-8.

The returned string may also be a relative path. Use [glib.global.buildFilename] 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);
 }

Parameters

filenamethe symbolic link

Returns

A newly-allocated string with

the contents of the symbolic link, or null if an error occurred.

Throws

[ErrorWrap]