/* This example reads the configuration file 'example.cfg', adds a new
* movie record to the movies list, and writes the updated configuration to
* 'updated.cfg'.
*/
int main(int argc, char **argv)
{
static const char *output_file = "updated.cfg";
config_t cfg;
config_setting_t *root, *setting, *movie;
config_init(&cfg);
/* Read the file. If there is an error, report it and exit. */
if(! config_read_file(&cfg, "example.cfg"))
{
fprintf(stderr, "%s:%d - %s\n", config_error_file(&cfg),
config_error_line(&cfg), config_error_text(&cfg));
config_destroy(&cfg);
return(EXIT_FAILURE);
}
/* Find the 'movies' setting. Add intermediate settings if they don't yet
* exist.
*/
root = config_root_setting(&cfg);
setting = config_setting_get_member(root, "inventory");
if(!setting)
setting = config_setting_add(root, "inventory", CONFIG_TYPE_GROUP);
setting = config_setting_get_member(setting, "movies");
if(!setting)
setting = config_setting_add(setting, "movies", CONFIG_TYPE_LIST);
/* Create the new movie entry. */
movie = config_setting_add(setting, NULL, CONFIG_TYPE_GROUP);
setting = config_setting_add(movie, "title", CONFIG_TYPE_STRING);
config_setting_set_string(setting, "Buckaroo Banzai");
setting = config_setting_add(movie, "media", CONFIG_TYPE_STRING);
config_setting_set_string(setting, "DVD");
setting = config_setting_add(movie, "price", CONFIG_TYPE_FLOAT);
config_setting_set_float(setting, 12.99);
setting = config_setting_add(movie, "qty", CONFIG_TYPE_INT);
config_setting_set_float(setting, 20);
/* Write out the updated configuration. */
if(! config_write_file(&cfg, output_file))
{
fprintf(stderr, "Error while writing file.\n");
config_destroy(&cfg);
return(EXIT_FAILURE);
}
fprintf(stderr, "Updated configuration successfully written to: %s\n",
output_file);
config_destroy(&cfg);
return(EXIT_SUCCESS);
}
/* eof */
'list nowrap'>Age | Commit message (Expand) | Author | Files | Lines |
2012-02-11 | Move *.docs, *.install and *.examples to -dev. | Jonathan McCrohan | 7 | -2/+2 |
2012-02-11 | Move to single -dev package. | Jonathan McCrohan | 2 | -14/+12 |
2012-02-08 | Update package changelog. | Jonathan McCrohan | 1 | -1/+1 |
2012-02-08 | Partial manual revert of move to libconfig*8. | Jonathan McCrohan | 4 | -12/+12 |
2012-02-08 | Add my name to debian copyright. | Jonathan McCrohan | 1 | -2/+3 |
2012-02-08 | Atomic commit. Rollback to libconfig8 packaging names. | Jonathan McCrohan | 10 | -8/+8 |
2012-02-07 | Rename libconfig9 to libconfig8 to aid release team | Jonathan McCrohan | 1 | -14/+14 |
2012-02-07 | Fix "closes typo" | Jonathan McCrohan | 1 | -1/+1 |
2012-02-07 | Revert "Add symbols" | Jonathan McCrohan | 3 | -739/+1 |
2012-02-07 | Revert "Fix b0rked symbol file." | Jonathan McCrohan | 1 | -1/+1 |
2012-02-07 | Revert "Second attempt" | Jonathan McCrohan | 2 | -0/+194 |
2012-01-29 | Second attempt | Jonathan McCrohan | 2 | -194/+0 |
2012-01-29 | Fix b0rked symbol file. | Jonathan McCrohan | 1 | -1/+1 |
2012-01-29 | Add symbols | Jonathan McCrohan | 3 | -1/+739 |
2012-01-26 | add examples properly | Jonathan McCrohan | 1 | -0/+2 |
2012-01-26 | Update changelog | Jonathan McCrohan | 1 | -3/+6 |
2012-01-26 | fix typo | Jonathan McCrohan | 1 | -1/+1 |
2012-01-26 | fix accidental description changes | Jonathan McCrohan | 1 | -2/+2 |
2012-01-26 | more fucking around to please lintian | Jonathan McCrohan | 1 | -5/+2 |
2012-01-25 | Linitan fixes | Jonathan McCrohan | 2 | -3/+2 |
2012-01-25 | Split out debug packages | Jonathan McCrohan | 2 | -1/+6 |
2011-12-31 | Fix debian/rules | Jonathan McCrohan | 1 | -1/+1 |
2011-12-31 | Remove shlibs | Jonathan McCrohan | 1 | -2/+0 |
2011-12-31 | Remove NMU from changelog | Jonathan McCrohan | 1 | -1/+0 |
2011-12-31 | Lintian Fixes | Jonathan McCrohan | 1 | -2/+4 |
2011-12-31 | Remove Makefile patch | Jonathan McCrohan | 1 | -1/+0 |
2011-12-31 | Update Makefiles | Jonathan McCrohan | 10 | -248/+8222 |
2011-12-31 | Updated makefiles | Jonathan McCrohan | 1 | -0/+1 |