gd_fragment_namespace - Man Page

report or change the root namespace of a fragment of a dirfile database

Synopsis

#include <getdata.h>

const char *gd_fragment_namespace(DIRFILE *dirfile, int fragment_index, char *new_namespace);

Description

The gd_fragment_namespace() function can be used to update and/or query the root namespace of a fragment in the dirfile(5) database specified by dirfile.

If new_namespace is NULL, then the current root namespace of the fragment indexed by fragment_index is returned.  If new_namespace is non-NULL, then the root namespace is first changed to the string provided before being reported.  The new namespace may optionally contain a single, trailing dot (.). To remove an existing root namespace, pass a pointer to the empty string ("") as new_namespace.

The root namespace of the root format file (the one indexed by fragment_index=0) may not be changed.  It is always the empty string.

The dirfile argument must point to a valid DIRFILE object previously created by a call to gd_open(3).

Return Value

Upon successful completion, gd_fragment_namespace() returns a non-NULL pointer to a read-only string containing the current root namespace of the fragment specified.  This will be a copy of the string new_namespace, if that parameter was non-NULL.  If the fragment's root namespace is empty, a pointer to the empty string ("") will be returned.

On error, this function returns NULL and sets the dirfile error to a non-zero error value.  Possible dirfile error values are:

GD_E_ACCMODE

The dirfile was opened read-only.

GD_E_ALLOC

A memory allocation error occurred.

GD_E_BAD_CODE

The supplied new_fragment was not a valid namespace.

GD_E_BAD_DIRFILE

The supplied dirfile was invalid.

GD_E_BAD_INDEX

The supplied index was out of range.  This error will also be returned if an attempt is made to change the root namespace of the root format file (fragment_index zero).

GD_E_DUPLICATE

Attempting to change the root namespace resulted in a duplicated field definition.

GD_E_PROTECTED

The protection level of the specified fragment prohibits metadata changes.

The dirfile error may be retrieved by calling gd_error(3). A descriptive error string for the last error encountered can be obtained from a call to gd_error_string(3).

History

The gd_fragment_namespace() function appeared in GetData-0.10.0.

See Also

gd_alter_affixes(3), gd_include_ns(3), gd_open(3), dirfile(5), dirfile-format(5)

Referenced By

gd_alter_affixes(3), gd_fragment_affixes(3).

25 December 2016 Version 0.10.0 GETDATA