table of contents
other versions
- wheezy 0.7.3-6
- jessie 0.7.3-6+b2
- testing 0.9.4-1
- unstable 0.9.4-1
- experimental 0.10.0-1
gd_alter_entry(3) | GETDATA | gd_alter_entry(3) |
NAME¶
gd_alter_entry — modify the metadata of a dirfile fieldSYNOPSIS¶
#include <getdata.h>int
gd_alter_entry(DIRFILE *dirfile, const char
*field_code, const gd_entry_t *entry, int
recode);
DESCRIPTION¶
The gd_alter_entry() function modifies the field specified by field_code in the dirfile specified by dirfile to correspond to the new parameters specified by entry. In addition to specifying a regular field, field_code may also refer to a metafield by specifying it using its full (slashed) field code. However, field_code should never contain a representation suffix.- •
- a pointer to a field code indicating a new scalar field to be used for the corresponding field parameter. If the parameter was previously a literal number, it will be replaced by the specified field code. If the parameter was previously a field code, the new field code will replace the old one. If the field code specifies a CARRAY field, the corresponding entry->scalar_ind element should also be set.
- •
- a pointer the empty string (""). In this case, no change is made to the field code for the corresponding field parameter: if one already existed, it is kept, otherwise the corresponding literal numerical parameter is used. If the value of the corresponding numerical entry member is the special value listed above indicating no change, no change is made to the field parameter at all.
- •
- the NULL pointer. If the corresponding field parameter was
previously a field code, the field code will be deleted and a literal
number used instead. In the special case when a scalar element is NULL and
the corresponding numerical entry member contains a special value
indicating no change listed above, GetData will de-reference the previous
field code value and convert it into a literal number before removing the
field code from the entry.
RETURN VALUE¶
On success, gd_alter_entry() returns zero. On error, -1 is returned and the dirfile error is set to a non-zero error value. Possible error values are:- GD_E_ACCMODE
- The specified dirfile was opened read-only.
- GD_E_ALLOC
- The library was unable to allocate memory.
- GD_E_BAD_CODE
- The field specified by field_code was not found. This error may also result from attempting to dereference a scalar field code which indicates a non-existent field.
- GD_E_BAD_DIRFILE
- The supplied dirfile was invalid.
- GD_E_BAD_ENTRY
- One or more of the parameters specified in entry was invalid.
- GD_E_BAD_FIELD_TYPE
- The entry->field_type parameter did not correspond to the type of the field specified by field_code, or an attempt was made to modify the immutable INDEX field. This error may also result from attempting to dereference a scalar field code which does not indicate a CONST or CARRAY field.
- GD_E_BAD_TYPE
- The entry->data_type parameter provided with a RAW entry, or the entry->const_type parameter provided with a CONST or CARRAY entry, was invalid.
- GD_E_PROTECTED
- The metadata of the fragment was protected from change. Or, a request to translate the binary file associated with a RAW field was attempted, but the data of the fragment was protected.
- GD_E_RAW_IO
- An I/O error occurred while translating the binary file associated with a modified RAW field, or an I/O error occurred while attempting to rename a LINTERP table file.
- GD_E_UNKNOWN_ENCODING
- The encoding scheme of the indicated format specification fragment is not known to the library. As a result, the library was unable to translate the binary file be associated with a modified RAW field.
- GD_E_UNSUPPORTED
- The encoding scheme of the indicated format specification fragment does not support translating the binary file associated with a modified RAW field.
SEE ALSO¶
gd_alter_bit(3), gd_alter_carray(3), gd_alter_const(3), gd_alter_divide(3), gd_alter_lincom(3), gd_alter_linterp(3), gd_alter_multiply(3), gd_alter_phase(3), gd_alter_polynom(3), gd_alter_raw(3), gd_alter_recip(3), gd_alter_spec(3), gd_delete(3), gd_error(3), gd_error_string(3), gd_malter_spec(3), gd_metaflush(3), gd_move(3), gd_open(3), gd_rename(3), dirfile-format(5)3 November 2010 | Version 0.7.0 |