Method

GLibPathBufpush

since: 2.76

Declaration

GPathBuf*
g_path_buf_push (
  GPathBuf* buf,
  const char* path
)

Description

Extends the given path buffer with path.

If path is absolute, it replaces the current path.

If path contains a directory separator, the buffer is extended by as many elements the path provides.

On Windows, both forward slashes and backslashes are treated as directory separators. On other platforms, G_DIR_SEPARATOR_S is the only directory separator.

GPathBuf buf, cmp;

g_path_buf_init_from_path (&buf, "/tmp");
g_path_buf_push (&buf, ".X11-unix/X0");
g_path_buf_init_from_path (&cmp, "/tmp/.X11-unix/X0");
g_assert_true (g_path_buf_equal (&buf, &cmp));
g_path_buf_clear (&cmp);

g_path_buf_push (&buf, "/etc/locale.conf");
g_path_buf_init_from_path (&cmp, "/etc/locale.conf");
g_assert_true (g_path_buf_equal (&buf, &cmp));
g_path_buf_clear (&cmp);

g_path_buf_clear (&buf);

Available since: 2.76

Parameters

path

Type: const char*

A path.

The data is owned by the caller of the function.
The value is a file system path, using the OS encoding.

Return value

Type: GPathBuf

The same pointer to buf, for convenience.

The data is owned by the instance.