.\" gd_put_string.3. The gd_put_string man page. .\" .\" Copyright (C) 2008, 2009, 2010, 2011 D. V. Wiebe .\" .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .\" .\" This file is part of the GetData project. .\" .\" Permission is granted to copy, distribute and/or modify this document .\" under the terms of the GNU Free Documentation License, Version 1.2 or .\" any later version published by the Free Software Foundation; with no .\" Invariant Sections, with no Front-Cover Texts, and with no Back-Cover .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" .TH gd_put_string 3 "19 August 2011" "Version 0.8.0" "GETDATA" .SH NAME gd_put_string \(em retrieve a string from a dirfile database .SH SYNOPSIS .B #include .HP .nh .ad l .BI "int gd_put_string(DIRFILE *" dirfile ", const char *" field_code , .BI "const char *" data_in ); .hy .ad n .SH DESCRIPTION The .BR gd_put_string () function queries a dirfile(5) database specified by .I dirfile and sets the .B STRING .I field_code , which should not contain a representation suffix, to the value specified in .IR data_in . The .I dirfile argument must point to a valid DIRFILE object previously created by a call to .BR gd_open (3). Because string values are stored in the dirfile metadata, the new value of .I field_code won't be written to disk until the dirfile metadata is flushed with .BR gd_metaflush (3), or until the dirfile is closed. .SH RETURN VALUE On success, .BR gd_put_string () returns the length of the string stored, including the trailing NUL character. On error, it returns 0 and sets the dirfile error to a non-zero value. Possible error values are: .TP 8 .B GD_E_ACCMODE The specified .I dirfile was opened read-only. .TP .B GD_E_BAD_CODE The field specified by .I field_code was not found in the database. .TP .B GD_E_BAD_DIRFILE An invalid .I dirfile was supplied. .TP .B GD_E_BAD_FIELD_TYPE The supplied .I field_code referred to a field of type other than .BR STRING . The caller should use .BR gd_putdata (3), .BR gd_put_carray (3), or .BR gd_put_constant (3) instead. .TP .B GD_E_BAD_TYPE An invalid .I data_type was specified. .TP .B 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. .TP .B GD_E_PROTECTED The fragment containing the string was protected from change. .PP The dirfile error may be retrieved by calling .BR gd_error (3). A descriptive error string for the last error encountered may be obtained from a call to .BR gd_error_string (3). .SH SEE ALSO .BR dirfile (5), .BR gd_metaflush (3), .BR gd_open (3), .BR gd_get_string (3), .BR gd_error (3), .BR gd_error_string (3), .BR gd_putdata (3)