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 aNULLGError*.The argument will be left initialized to NULLby 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. |