PathBuf

glib.path_buf.PathBuf is a helper type that allows you to easily build paths from individual elements, using the platform specific conventions for path separators.

g_auto (GPathBuf) path;

g_path_buf_init (&path);

g_path_buf_push (&path, "usr");
g_path_buf_push (&path, "bin");
g_path_buf_push (&path, "echo");

g_autofree char *echo = g_path_buf_to_path (&path);
g_assert_cmpstr (echo, ==, "/usr/bin/echo");

You can also load a full path and then operate on its components:

g_auto (GPathBuf) path;

g_path_buf_init_from_path (&path, "/usr/bin/echo");

g_path_buf_pop (&path);
g_path_buf_push (&path, "sh");

g_autofree char *sh = g_path_buf_to_path (&path);
g_assert_cmpstr (sh, ==, "/usr/bin/sh");

Members

Functions

clear
void clear()

Clears the contents of the path buffer.

clearToPath
string clearToPath()

Clears the contents of the path buffer and returns the built path.

freeToPath
string freeToPath()

Frees a glib.path_buf.PathBuf allocated by glib.path_buf.PathBuf.new_, and returns the path inside the buffer.

initFromPath
glib.path_buf.PathBuf initFromPath(string path)

Initializes a glib.path_buf.PathBuf instance with the given path.

init_
glib.path_buf.PathBuf init_()

Initializes a glib.path_buf.PathBuf instance.

pop
bool pop()

Removes the last element of the path buffer.

push
glib.path_buf.PathBuf push(string path)

Extends the given path buffer with path.

setExtension
bool setExtension(string extension)

Adds an extension to the file name in the path buffer.

setFilename
bool setFilename(string fileName)

Sets the file name of the path.

toPath
string toPath()

Retrieves the built path from the path buffer.

Static functions

equal
bool equal(const(void)* v1, const(void)* v2)

Compares two path buffers for equality and returns TRUE if they are equal.