/* ---------------------------------------------------------------------------- libconfig - A library for processing structured configuration files Copyright (C) 2005-2010 Mark A Lindner This file is part of libconfig. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, see . ---------------------------------------------------------------------------- */ #include #include #include /* 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 */ class='logheader'>2004-05-27[lcd4linux @ 2004-05-27 03:39:47 by reinelt]reinelt8-37/+70 changed function naming scheme to plugin::function git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@437 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2004-05-26[lcd4linux @ 2004-05-26 11:37:35 by reinelt]reinelt21-361/+409 Curses driver ported. git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@436 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2004-05-26[lcd4linux @ 2004-05-26 05:03:24 by reinelt]reinelt9-463/+333 MilfordInstruments driver ported git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@435 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2004-05-25[lcd4linux @ 2004-05-25 19:54:11 by reinelt]reinelt7-53/+23 'make distcheck' bugs fixed release number changed to 0.10.0-RC1 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@434 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2004-05-25[lcd4linux @ 2004-05-25 19:47:11 by reinelt]reinelt9-1670/+13 Status updated obsolete files removed git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@433 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2004-05-25[lcd4linux @ 2004-05-25 14:28:46 by reinelt]reinelt1-0/+133 Changelog updated git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@432 3ae390bd-cb1e-0410-b409-cd5a39f66f1f ables.git/tag/?h=upstream/0%2bgit20161227.ac7535a'>upstream/0+git20161227.ac7535aJonathan McCrohan39-1522/+4879 2016-06-11Release 0+git20160503.4f192bd-1debian/0+git20160503.4f192bd-1Jonathan McCrohan1-2/+2 2016-06-11d/control: update insecure Vcs-Git URLJonathan McCrohan2-1/+2 2016-06-11d/control: update Standards Version to 3.9.8Jonathan McCrohan2-1/+9 2016-06-11Imported Upstream version 0+git20160503.4f192bdupstream/0+git20160503.4f192bdJonathan McCrohan1307-2667/+38002 2016-01-18Release 0+git20151202.3864e0a-1debian/0+git20151202.3864e0a-1Jonathan McCrohan1-2/+3 2016-01-18Imported Upstream version 0+git20151202.3864e0aJonathan McCrohan840-4057/+18230 2016-01-18Update get-vcs-snapshot.sh to reflect gbp changesJonathan McCrohan2-1/+2 2016-01-18Imported Upstream version 0+git20151202.3864e0aupstream/0+git20151202.3864e0aJonathan McCrohan840-4057/+18230 2015-05-05d/control: various fixes found by libconfig-model-dpkg-perlJonathan McCrohan2-5/+13 2015-04-01Release 0+git20150208.f2053b3-1Jonathan McCrohan1-2/+2 2015-04-01Describe changes made in snapshotJonathan McCrohan1-0/+3 2015-04-01New Upstream Snapshot (commit f2053b3)Jonathan McCrohan1-0/+6 2015-04-01Imported Upstream version 0+git20150208.f2053b3upstream/0+git20150208.f2053b3Jonathan McCrohan32-333/+483 2014-12-28Release 0+git20141218.b46a22c-1debian/0+git20141218.b46a22c-1Jonathan McCrohan1-2/+2 2014-12-28Updated AU DVB-T files; Thanks Brian Burch! (Closes LP: #1393280)Jonathan McCrohan1-0/+1 2014-12-28New Upstream Snapshot (commit b46a22c)Jonathan McCrohan1-0/+6 2014-12-28Imported Upstream version 0+git20141218.b46a22cupstream/0+git20141218.b46a22cJonathan McCrohan535-639/+317 2014-10-20Release 0+git20141009.d26b627-1debian/0+git20141009.d26b627-1Jonathan McCrohan1-2/+2 2014-10-20Fix up packaging to account for move to DVBv5Jonathan McCrohan2-2/+6 2014-10-20delete d/dtv-scan-files.install; Upstream now supplies a MakefileJonathan McCrohan2-4/+1 2014-10-15d/control: update Standards Version to 3.9.6Jonathan McCrohan2-1/+3 2014-10-15d/control: add Build-Depends on dvb-toolsJonathan McCrohan2-1/+2 2014-10-15New Upstream Snapshot (commit d26b627)Jonathan McCrohan1-0/+10 2014-10-15Imported Upstream version 0+git20141009.d26b627upstream/0+git20141009.d26b627Jonathan McCrohan2010-11120/+159271 2014-07-23Release 0+git20140611.14bd6c7-1debian/0+git20140611.14bd6c7-1Jonathan McCrohan1-2/+2 2014-07-23New Upstream Snapshot (commit 14bd6c7)Jonathan McCrohan1-2/+3 2014-07-23Imported Upstream version 0+git20140611.14bd6c7upstream/0+git20140611.14bd6c7Jonathan McCrohan7-11/+60 2014-05-13New Upstream Snapshot (commit 1246b27)Jonathan McCrohan1-0/+6 2014-05-13Imported Upstream version 0+git20140512.1246b27upstream/0+git20140512.1246b27Jonathan McCrohan391-301/+3983 2014-04-05Release 0+git20140326.cfc2975-1debian/0+git20140326.cfc2975-1Jonathan McCrohan1-2/+2 2014-04-05d/control: update Homepage (upstream has moved from Gitweb to cgit)Jonathan McCrohan2-1/+2 2014-04-05New Upstream Snapshot (commit cfc2975)Jonathan McCrohan1-0/+6 2014-04-05Imported Upstream version 0+git20140326.cfc2975upstream/0+git20140326.cfc2975Jonathan McCrohan118-656/+877 2014-01-16Release 0+git20140107.1850cf8-1debian/0+git20140107.1850cf8-1Jonathan McCrohan1-2/+2 2014-01-16Update Standards Version to 3.9.5Jonathan McCrohan2-1/+9 No changes required