Man page - gd_get_string(3)
Packages contas this manual
- gd_bof64(3)
- gd_discard(3)
- gd_sarrays(3)
- dirfile-format(5)
- gd_tell64(3)
- gd_aliases(3)
- gd_madd_phase(3)
- gd_add(3)
- gd_add_bit(3)
- gd_encoding_support(3)
- gd_unhide(3)
- gd_entry_type(3)
- gd_spf(3)
- gd_nfields_by_type(3)
- gd_madd_clincom(3)
- gd_open(3)
- gd_tell(3)
- gd_array_len(3)
- gd_fragment_index(3)
- gd_alter_carray(3)
- gd_move(3)
- gd_nmfields_by_type(3)
- gd_madd_sbit(3)
- gd_add_phase(3)
- gd_madd_window(3)
- gd_nvectors(3)
- gd_alter_crecip(3)
- gd_alter_bit(3)
- gd_add_spec(3)
- gd_add_crecip(3)
- gd_madd_mplex(3)
- gd_fragmentname(3)
- gd_madd_bit(3)
- gd_madd_divide(3)
- gd_putdata64(3)
- gd_put_carray_slice(3)
- gd_madd_spec(3)
- gd_add_mplex(3)
- gd_raw_filename(3)
- gd_add_polynom(3)
- gd_parser_callback(3)
- gd_madd_const(3)
- gd_free_entry_strings(3)
- gd_parent_fragment(3)
- gd_alter_protection(3)
- gd_dirfilename(3)
- gd_seek(3)
- gd_validate(3)
- gd_madd_string(3)
- gd_fragment_affixes(3)
- gd_fragment_namespace(3)
- gd_getdata(3)
- gd_mstrings(3)
- gd_nframes(3)
- gd_bof(3)
- gd_alter_encoding(3)
- gd_nfields(3)
- gd_alter_multiply(3)
- gd_madd_carray(3)
- gd_get_carray(3)
- gd_endianness(3)
- gd_alter_sbit(3)
- dirfile(5)
- gd_mconstants(3)
- gd_alter_polynom(3)
- gd_close(3)
- gd_framenum(3)
- gd_madd_cpolynom(3)
- gd_strings(3)
- gd_add_divide(3)
- gd_cbopen(3)
- gd_frameoffset64(3)
- gd_vector_list(3)
- gd_nframes64(3)
- gd_nmfields(3)
- gd_delete(3)
- gd_msarrays(3)
- gd_add_alias(3)
- gd_get_constant(3)
- gd_alter_frameoffset64(3)
- gd_alter_entry(3)
- gd_raw_close(3)
- gd_madd_crecip(3)
- gd_getdata64(3)
- gd_alter_cpolynom(3)
- gd_alter_endianness(3)
- gd_flush(3)
- gd_add_string(3)
- gd_madd_multiply(3)
- gd_sync(3)
- gd_include_ns(3)
- gd_uninclude(3)
- gd_native_type(3)
- gd_alter_window(3)
- gd_eof(3)
- gd_flags(3)
- gd_alter_frameoffset(3)
- gd_framenum_subset(3)
- gd_entry(3)
- gd_error_string(3)
- gd_add_cpolynom(3)
- gd_reference(3)
- gd_mfield_list(3)
- gd_hide(3)
- gd_add_recip(3)
- gd_madd_recip(3)
- gd_include_affix(3)
- gd_get_carray_slice(3)
- gd_field_list_by_type(3)
- gd_madd_lincom(3)
- gd_desync(3)
- gd_get_string(3)
- gd_add_lincom(3)
- gd_dirfile_standards(3)
- gd_madd_linterp(3)
- gd_alter_divide(3)
- gd_nmvectore(3)
- gd_malter_spec(3)
- gd_encoding(3)
- gd_alter_linterp(3)
- gd_put_string(3)
- gd_constants(3)
- gd_alter_mplex(3)
- gd_get_sarray(3)
- gd_madd_polynom(3)
- gd_framenum_subset64(3)
- gd_add_multiply(3)
- gd_entry_list(3)
- gd_put_constant(3)
- gd_madd_alias(3)
- gd_rename(3)
- gd_metaflush(3)
- gd_carrays(3)
- gd_alter_recip(3)
- gd_mcarrays(3)
- gd_strtok(3)
- gd_add_sbit(3)
- gd_eof64(3)
- gd_get_sarray_slice(3)
- gd_nfragments(3)
- gd_seek64(3)
- gd_alter_affixes(3)
- gd_alter_phase(3)
- gd_madd(3)
- gd_add_sarray(3)
- gd_add_const(3)
- gd_put_carray(3)
- gd_alter_spec(3)
- gd_mplex_lookback(3)
- gd_add_carray(3)
- gd_alter_raw(3)
- gd_put_sarray(3)
- gd_alter_clincom(3)
- gd_open_limit(3)
- gd_add_sindir(3)
- gd_hidden(3)
- gd_frameoffset(3)
- dirfile-encoding(5)
- gd_carray_len(3)
- gd_field_list(3)
- gd_protection(3)
- gd_naliases(3)
- gd_alias_target(3)
- gd_error(3)
- gd_include(3)
- gd_rewrite_fragment(3)
- gd_add_raw(3)
- gd_alter_lincom(3)
- gd_mfield_list_by_type(3)
- gd_alter_const(3)
- gd_match_entries(3)
- gd_alloc_funcs(3)
- gd_linterp_tablename(3)
- gd_nentries(3)
- gd_verbose_prefix(3)
- gd_putdata(3)
- gd_add_indir(3)
- gd_add_linterp(3)
- gd_put_sarray_slice(3)
- gd_invalid_dirfile(3)
- gd_add_window(3)
- gd_error_count(3)
- gd_add_clincom(3)
apt-get install libgetdata-doc
Manual
| gd_get_string(3) | GETDATA | gd_get_string(3) |
NAME
gd_get_string — retrieve STRING or SARRAY data from a Dirfile database
SYNOPSIS
#include <getdata.h>
size_t gd_get_string(DIRFILE *dirfile, const char *field_code, size_t len, char *data_out);
DESCRIPTION
The gd_get_string() function queries a dirfile(5) database specified by dirfile for the string scalar field_code, which should not contain a representation suffix. The first len characters of the string scalar are stored in the user-supplied buffer data_out. If field_code refers to a SARRAY field, the first element is returned.
The dirfile argument must point to a valid DIRFILE object previously created by a call to gd_open(3).
If len equals zero, or if data_out equals NULL, no data will be copied to data_out, but the length of the string scalar will still be returned by gd_get_string(). Otherwise, the argument data_out must point to a valid memory location of sufficient size to hold at least len characters. If the length of the string scalar is greater than len, data_out will not be NUL-terminated.
The gd_get_sarray(3) function provides another way of retrieving STRING data, but without having to know the length of the returned string in advance. The code:
char *string = malloc(len);
gd_get_string(dirfile, field_code, len, string);
which ensures the whole string, including the terminating NUL, is returned, can be replaced with, simply:
gd_get_sarray(dirfile, field_code, &string);
with the added benefit of not having manage the memory for the string.
RETURN VALUE
On success, gd_get_string() returns the actual length of the specified string scalar, including space for the trailing NUL-character. A return value greater than len indicates that the output string is not NUL-terminated.
On error, this function returns 0 and stores a negative-valued error code in the DIRFILE object which may be retrieved by a subsequent call to gd_error(3). Possible error codes are:
- GD_E_BAD_CODE
- The field specified by field_code was not found in the database.
- GD_E_BAD_DIRFILE
- An invalid dirfile was supplied.
- GD_E_BAD_FIELD_TYPE
- The supplied field_code referred to a field of type other than STRING or SARRAY.
- GD_E_INTERNAL_ERROR
- An internal error occurred in the library while trying to perform the task. This indicates a bug in the library. Please report the incident to the maintainer.
A descriptive error string for the error may be obtained by calling gd_error_string(3).
HISTORY
The get_string() function appeared in GetData-0.4.0.
In GetData-0.7.0, this function was renamed to gd_get_string().
SEE ALSO
gd_get_sarray(3), gd_error(3), gd_error_string(3), gd_open(3), gd_put_string(3), dirfile(5)
| 25 December 2016 | Version 0.10.0 |