本文整理汇总了C++中config_close函数的典型用法代码示例。如果您正苦于以下问题:C++ config_close函数的具体用法?C++ config_close怎么用?C++ config_close使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了config_close函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: settings_reread
int settings_reread(const char *fname)
{
CONFIG_REC *tempconfig;
char *str;
str = fname == NULL ? NULL : convert_home(fname);
tempconfig = parse_configfile(str);
g_free_not_null(str);
if (tempconfig == NULL) {
signal_emit("gui dialog", 2, "error", g_strerror(errno));
return FALSE;
}
if (config_last_error(tempconfig) != NULL) {
str = g_strdup_printf("Errors in configuration file:\n%s",
config_last_error(tempconfig));
signal_emit("gui dialog", 2, "error", str);
g_free(str);
config_close(tempconfig);
return FALSE;
}
config_close(mainconfig);
mainconfig = tempconfig;
config_last_modifycounter = mainconfig->modifycounter;
signal_emit("setup changed", 0);
signal_emit("setup reread", 1, mainconfig->fname);
return TRUE;
}
开发者ID:svn2github,项目名称:irssi,代码行数:32,代码来源:settings.c
示例2: PROCESS_THREAD
PROCESS_THREAD(config_write_test, ev, data) {
PROCESS_BEGIN();
config_section_t *sect1, *sect2;
config_init();
config_open();
sect1 = config_cnf_create_section(config_get());
strcpy(sect1->name, "sect");
config_section_set_int(sect1, "ololoint", -666);
config_section_set_uint(sect1, "ololoUint", 1313);
config_section_set_str(sect1, "ololostr", "znachenie");
config_save();
config_close();
config_init();
config_open();
//// sect2 = config_cnf_create_section(config_get());
//// strcpy(sect2->name, "sect");
//// config_section_set_int(sect2, "alalaint", -999);
//// config_section_set_uint(sect2, "alalaUint", 3131);
//// config_section_set_str(sect2, "alalastr", "justanother");
config_save();
config_close();
ledd_on(PB5);
PROCESS_END();
}
开发者ID:project-master-device,项目名称:project-master-device,代码行数:31,代码来源:eeprom_write_contiki_test.c
示例3: settings_reread
int settings_reread(const char *fname)
{
CONFIG_REC *tempconfig;
char *str;
if (fname == NULL) fname = "~/.irssi/config";
str = convert_home(fname);
tempconfig = parse_configfile(str);
g_free(str);
if (tempconfig == NULL) {
signal_emit("gui dialog", 2, "error", g_strerror(errno));
return FALSE;
}
if (config_last_error(tempconfig) != NULL) {
str = g_strdup_printf(_("Errors in configuration file:\n%s"),
config_last_error(tempconfig));
signal_emit("gui dialog", 2, "error", str);
g_free(str);
config_close(tempconfig);
return FALSE;
}
config_close(mainconfig);
mainconfig = tempconfig;
signal_emit("setup changed", 0);
signal_emit("setup reread", 0);
return TRUE;
}
开发者ID:svn2github,项目名称:irssi,代码行数:33,代码来源:settings.c
示例4: theme_read
static int theme_read(THEME_REC *theme, const char *path, const char *data)
{
CONFIG_REC *config;
THEME_READ_REC rec;
char *str;
config = config_open(data == NULL ? path : NULL, -1) ;
if (config == NULL) {
/* didn't exist or no access? */
str = g_strdup_printf("Error reading theme file %s: %s",
path, g_strerror(errno));
read_error(str);
g_free(str);
return FALSE;
}
if (data != NULL)
config_parse_data(config, data, "internal");
else
config_parse(config);
if (config_last_error(config) != NULL) {
str = g_strdup_printf("Ignored errors in theme %s:\n%s",
theme->name, config_last_error(config));
read_error(str);
g_free(str);
}
theme->default_color =
config_get_int(config, NULL, "default_color", -1);
theme->info_eol = config_get_bool(config, NULL, "info_eol", FALSE);
/* FIXME: remove after 0.7.99 */
if (theme->default_color == 0 &&
config_get_int(config, NULL, "default_real_color", -1) != -1)
theme->default_color = -1;
theme_read_replaces(config, theme);
if (data == NULL) {
/* get the default abstracts from default theme. */
CONFIG_REC *default_config;
default_config = config_open(NULL, -1);
config_parse_data(default_config, default_theme, "internal");
theme_read_abstracts(default_config, theme);
config_close(default_config);
}
theme_read_abstracts(config, theme);
rec.theme = theme;
rec.config = config;
g_hash_table_foreach(default_formats,
(GHFunc) theme_read_modules, &rec);
config_close(config);
return TRUE;
}
开发者ID:svn2github,项目名称:irssi,代码行数:57,代码来源:themes.c
示例5: parse_main
int parse_main(int argc UNUSED_PARAM, char **argv)
{
const char *delims = "# \t";
unsigned flags = PARSE_NORMAL;
int mintokens = 0, ntokens = 128;
opt_complementary = "-1:n+:m+:f+";
getopt32(argv, "n:m:d:f:", &ntokens, &mintokens, &delims, &flags);
//argc -= optind;
argv += optind;
while (*argv) {
parser_t *p = config_open(*argv);
if (p) {
int n;
char **t = xmalloc(sizeof(char *) * ntokens);
while ((n = config_read(p, t, ntokens, mintokens, delims, flags)) != 0) {
for (int i = 0; i < n; ++i)
printf("[%s]", t[i]);
puts("");
}
config_close(p);
}
argv++;
}
return EXIT_SUCCESS;
}
开发者ID:Ayyayay,项目名称:busybox,代码行数:26,代码来源:parse_config.c
示例6: load_offsets_from_string
static inline bool load_offsets_from_string(struct graphics_offsets *offsets,
const char *str)
{
config_t *config;
if (config_open_string(&config, str) != CONFIG_SUCCESS) {
return false;
}
offsets->d3d8.present =
(uint32_t)config_get_uint(config, "d3d8", "present");
offsets->d3d8.reset =
(uint32_t)config_get_uint(config, "d3d8", "reset");
offsets->d3d9.present =
(uint32_t)config_get_uint(config, "d3d9", "present");
offsets->d3d9.present_ex =
(uint32_t)config_get_uint(config, "d3d9", "present_ex");
offsets->d3d9.present_swap =
(uint32_t)config_get_uint(config, "d3d9", "present_swap");
offsets->d3d9.reset =
(uint32_t)config_get_uint(config, "d3d9", "reset");
offsets->d3d9.reset_ex =
(uint32_t)config_get_uint(config, "d3d9", "reset_ex");
offsets->dxgi.present =
(uint32_t)config_get_uint(config, "dxgi", "present");
offsets->dxgi.resize =
(uint32_t)config_get_uint(config, "dxgi", "resize");
config_close(config);
return true;
}
开发者ID:SpaderQueen,项目名称:Gifscreen1,代码行数:33,代码来源:load-graphics-offsets.c
示例7: load_config
int load_config(char *config)
{
char buffer[512];
int ret;
if ((ret = config_open(config)) < 0)
{
// failed to load
printf("\x1B[31mFailed to read config %s [%d]\033[0m\n", config, ret);
return -2;
}
// read Router id
config_get_value("router-id", buffer);
router_id = atoi(buffer);
// read Input ports
config_get_value("input-ports", input_ports);
// read outputs
config_get_value("outputs", output_dest);
// close config file and destroy memory
config_close();
return 0;
}
开发者ID:eamars,项目名称:Rip-Router-Simulator,代码行数:28,代码来源:router.c
示例8: parse_main
int parse_main(int argc UNUSED_PARAM, char **argv)
{
const char *delims = "# \t";
char **t;
unsigned flags = PARSE_NORMAL;
int mintokens = 0, ntokens = 128;
unsigned noout;
opt_complementary = "-1";
noout = 1 & getopt32(argv, "xn:+m:+d:f:+", &ntokens, &mintokens, &delims, &flags);
//argc -= optind;
argv += optind;
t = xmalloc(sizeof(t[0]) * ntokens);
while (*argv) {
int n;
parser_t *p = config_open(*argv);
while ((n = config_read(p, t, ntokens, mintokens, delims, flags)) != 0) {
if (!noout) {
for (int i = 0; i < n; ++i)
printf("[%s]", t[i]);
puts("");
}
}
config_close(p);
argv++;
}
return EXIT_SUCCESS;
}
开发者ID:beyond2002,项目名称:GT813C,代码行数:29,代码来源:parse_config.c
示例9: cmd_upgrade
/* SYNTAX: UPGRADE [<irssi binary path>] */
static void cmd_upgrade(const char *data)
{
CONFIG_REC *session;
char *session_file, *str;
char *binary;
if (*data == '\0')
data = irssi_binary;
if ((binary = g_find_program_in_path(data)) == NULL)
cmd_return_error(CMDERR_PROGRAM_NOT_FOUND);
/* save the session */
session_file = g_strdup_printf("%s/session", get_irssi_dir());
session = config_open(session_file, 0600);
unlink(session_file);
signal_emit("session save", 1, session);
config_write(session, NULL, -1);
config_close(session);
/* data may contain some other program as well, like
/UPGRADE /usr/bin/screen irssi */
str = g_strdup_printf("%s --noconnect --session=%s --home=%s --config=%s",
binary, session_file, get_irssi_dir(), get_irssi_config());
g_free(binary);
g_free(session_file);
session_args = g_strsplit(str, " ", -1);
g_free(str);
signal_emit("gui exit", 0);
}
开发者ID:ahf,项目名称:irssi,代码行数:33,代码来源:session.c
示例10: nprocessors_onln
static int nprocessors_onln(void)
{
char **l = NULL;
parser_t *p = config_open("/proc/stat");
int ret = 0;
if (p) {
while (config_read(p, &l, 2, 1, " ", 0))
if (l[0][0] == 'c'
&& l[0][1] == 'p'
&& l[0][2] == 'u'
&& isdigit(l[0][3]))
++ret;
} else if ((p = config_open("/proc/cpuinfo"))) {
#if defined __sparc__
while (config_read(p, &l, 2, 2, "\0:", PARSE_NORMAL))
if (strncmp("ncpus active", l[0], 12) == 0) {
ret = atoi(l[1]);
break;
}
#else
while (config_read(p, &l, 2, 2, "\0:\t", PARSE_NORMAL))
if (strcmp("processor", l[0]) == 0)
++ret;
#endif
}
config_close(p);
return ret != 0 ? ret : 1;
}
开发者ID:wbx-github,项目名称:uclibc-ng,代码行数:29,代码来源:sysconf.c
示例11: nprocessors_conf
static int nprocessors_conf(void)
{
int ret = 0;
DIR *dir = opendir("/sys/devices/system/cpu");
if (dir) {
struct dirent64 *dp;
while ((dp = readdir64(dir))) {
if (dp->d_type == DT_DIR
&& dp->d_name[0] == 'c'
&& dp->d_name[1] == 'p'
&& dp->d_name[2] == 'u'
&& isdigit(dp->d_name[3]))
++ret;
}
closedir(dir);
} else
{
#if defined __sparc__
char **l = NULL;
parser_t *p = config_open("/proc/stat");
while (config_read(p, &l, 2, 2, "\0:", PARSE_NORMAL))
if (strncmp("ncpus probed", l[0], 13) == 0) {
ret = atoi(l[1]);
break;
}
config_close(p);
#else
ret = nprocessors_onln();
#endif
}
return ret != 0 ? ret : 1;
}
开发者ID:wbx-github,项目名称:uclibc-ng,代码行数:34,代码来源:sysconf.c
示例12: read_config
void FAST_FUNC read_config(const char *file)
{
parser_t *parser;
const struct config_keyword *k;
unsigned i;
char *token[2];
for (i = 0; i < KWS_WITH_DEFAULTS; i++)
keywords[i].handler(keywords[i].def, keywords[i].var);
parser = config_open(file);
while (config_read(parser, token, 2, 2, "# \t", PARSE_NORMAL)) {
for (k = keywords, i = 0; i < ARRAY_SIZE(keywords); k++, i++) {
if (strcasecmp(token[0], k->keyword) == 0) {
if (!k->handler(token[1], k->var)) {
bb_error_msg("can't parse line %u in %s",
parser->lineno, file);
/* reset back to the default value */
k->handler(k->def, k->var);
}
break;
}
}
}
config_close(parser);
server_config.start_ip = ntohl(server_config.start_ip);
server_config.end_ip = ntohl(server_config.end_ip);
}
开发者ID:StarKissed,项目名称:starkissed-build-tools,代码行数:29,代码来源:files.c
示例13: read_config
static void read_config(char **pc, int npc, char **fc, int nfc)
{
char *buf;
parser_t *parser;
int pc_ofs = 0, fc_ofs = 0, section = -1;
pc[0] = fc[0] = NULL;
parser = config_open("/etc/sestatus.conf");
while (config_read(parser, &buf, 1, 1, "# \t", PARSE_NORMAL)) {
if (strcmp(buf, "[process]") == 0) {
section = 1;
} else if (strcmp(buf, "[files]") == 0) {
section = 2;
} else {
if (section == 1 && pc_ofs < npc -1) {
pc[pc_ofs++] = xstrdup(buf);
pc[pc_ofs] = NULL;
} else if (section == 2 && fc_ofs < nfc - 1) {
fc[fc_ofs++] = xstrdup(buf);
fc[fc_ofs] = NULL;
}
}
}
config_close(parser);
}
开发者ID:AlexShiLucky,项目名称:busybox,代码行数:26,代码来源:sestatus.c
示例14: sysctl_handle_preload_file
/* Set sysctl's from a conf file. Format example:
* # Controls IP packet forwarding
* net.ipv4.ip_forward = 0
*/
static int sysctl_handle_preload_file(const char *filename)
{
char *token[2];
parser_t *parser;
parser = config_open(filename);
/* Must do it _after_ config_open(): */
xchdir("/proc/sys");
/* xchroot("/proc/sys") - if you are paranoid */
//TODO: ';' is comment char too
//TODO: comment may be only at line start. "var=1 #abc" - "1 #abc" is the value
// (but _whitespace_ from ends should be trimmed first (and we do it right))
//TODO: "var==1" is mishandled (must use "=1" as a value, but uses "1")
// can it be fixed by removing PARSE_COLLAPSE bit?
while (config_read(parser, token, 2, 2, "# \t=", PARSE_NORMAL)) {
char *tp;
sysctl_dots_to_slashes(token[0]);
tp = xasprintf("%s=%s", token[0], token[1]);
sysctl_act_recursive(tp);
free(tp);
}
if (ENABLE_FEATURE_CLEAN_UP)
config_close(parser);
return 0;
}
开发者ID:AllardJ,项目名称:Tomato,代码行数:30,代码来源:sysctl.c
示例15: opencc_open
opencc_t opencc_open(const char* config_file) {
if (!lib_initialized) {
lib_initialize();
}
OpenccDesc* opencc;
opencc = (OpenccDesc*)malloc(sizeof(OpenccDesc));
opencc->dict_chain = NULL;
opencc->converter = converter_open();
converter_set_conversion_mode(opencc->converter, OPENCC_CONVERSION_FAST);
if (config_file == NULL) {
/* TODO load default */
assert(0);
} else {
/* Load config */
Config* config = config_open(config_file);
if (config == (Config*)-1) {
errnum = OPENCC_ERROR_CONFIG;
return (opencc_t)-1;
}
opencc->dict_chain = config_get_dict_chain(config);
converter_assign_dictionary(opencc->converter, opencc->dict_chain);
config_close(config);
}
return (opencc_t)opencc;
}
开发者ID:johnnywjy,项目名称:OpenCC,代码行数:25,代码来源:opencc.c
示例16: opencc_open
opencc_t opencc_open(const char * config_file, const char* home_path)
{
if (!lib_initialized)
lib_initialize();
opencc_desc * opencc;
opencc = (opencc_desc *) malloc(sizeof(opencc_desc));
opencc->dictionary_set = NULL;
opencc->converter = converter_open();
converter_set_conversion_mode(opencc->converter, OPENCC_CONVERSION_FAST);
/* 加載默認辭典 */
int retval;
if (config_file == NULL)
retval = 0;
else
{
config_t config = config_open(config_file, home_path);
if (config == (config_t) -1)
{
errnum = OPENCC_ERROR_CONFIG;
return (opencc_t) -1;
}
opencc->dictionary_set = config_get_dictionary_set(config);
converter_assign_dictionary(opencc->converter, opencc->dictionary_set);
config_close(config);
}
return (opencc_t) opencc;
}
开发者ID:izenecloud,项目名称:icma,代码行数:34,代码来源:opencc.c
示例17: atexit_handler
void atexit_handler()
{
config_close();
program_close();
ui_close();
states_clear();
dwindow_free(data.win[0]);
dwindow_free(data.win[1]);
}
开发者ID:dstenb,项目名称:tfm,代码行数:9,代码来源:main.c
示例18: main
int main(int argc, char *argv[])
{
int initialize_flag;
char config_value[255];
int i;
int total_lanes;
char acqcfgpath[127];
char command_buffer[255];
char base_dir[255];
sprintf(base_dir, "%s/polonator/G.007/acquisition", getenv("HOME"));
sprintf(log_dir, "%s/logs", base_dir);
sprintf(command_buffer, "mkdir -p %s", log_dir);
system(command_buffer);
if(argc == 3){
initialize_flag = atoi(argv[2]);
}
else{
initialize_flag = 0;
}
fprintf(stdout, "the initialize flag is %d\n", initialize_flag);
/* Open config file */
strcpy(acqcfgpath, getenv("POLONATOR_PATH"));
strcat(acqcfgpath, "/config_files/polonator-acq.cfg");
config_open(acqcfgpath);
if(!config_getvalue("stagealign_wells_per_fc", config_value)){
p_log("ERROR:\tPolonator-stagealign: config_getval(key stagealign_wells_per_fc) returned no value");
exit(0);
}
total_lanes = atoi(config_value);
if(!config_getvalue("stagealign_outputdir", config_value)){
p_log("ERROR:\tPolonator-stagealign: config_getval(key stagealign_outputdir) returned no value");
exit(0);
}
strcpy(output_directory, base_dir);
strcat(output_directory, "/");
strcat(output_directory, config_value);
config_close();
fprintf(stdout, "=%s=\n", output_directory);
/* Make sure stagealign output directory exists */
mkdir(output_directory, S_IRWXU);
sprintf(log_string, "Create new directory %s :", output_directory);
p_log_simple(log_string);
for(i = 0; i < total_lanes; i++)
{
stagealign(atoi(argv[1]), i, initialize_flag);
}
return 0;
}
开发者ID:REC17,项目名称:Polonator,代码行数:56,代码来源:Polonator-stagealign.c
示例19: setup_from_config
static bool setup_from_config(lwan_t *lwan)
{
config_t conf;
config_line_t line;
bool has_listener = false;
char path_buf[PATH_MAX];
const char *path;
path = get_config_path(path_buf);
lwan_status_info("Loading configuration file: %s", path);
lwan->url_map_trie = lwan_trie_new(destroy_urlmap);
if (!config_open(&conf, path))
return false;
while (config_read_line(&conf, &line)) {
switch (line.type) {
case CONFIG_LINE_TYPE_LINE:
if (!strcmp(line.line.key, "keep_alive_timeout"))
lwan->config.keep_alive_timeout = parse_int(line.line.value,
default_config.keep_alive_timeout);
else if (!strcmp(line.line.key, "quiet"))
lwan->config.quiet = parse_bool(line.line.value,
default_config.quiet);
else if (!strcmp(line.line.key, "reuse_port"))
lwan->config.reuse_port = parse_bool(line.line.value,
default_config.reuse_port);
else
config_error(&conf, "Unknown config key: %s", line.line.key);
break;
case CONFIG_LINE_TYPE_SECTION:
if (!has_listener) {
has_listener = true;
if (!strcmp(line.section.name, "listener"))
parse_listener(&conf, &line, lwan);
else
config_error(&conf, "Unknown section type: %s", line.section.name);
} else {
config_error(&conf, "Only one listener supported");
}
break;
case CONFIG_LINE_TYPE_SECTION_END:
config_error(&conf, "Unexpected section end");
}
}
if (conf.error_message) {
lwan_status_critical("Error on config file \"%s\", line %d: %s",
path, conf.line, conf.error_message);
}
config_close(&conf);
return true;
}
开发者ID:diviaki,项目名称:lwan,代码行数:56,代码来源:lwan.c
示例20: sbar_node
static CONFIG_NODE *sbar_find_item_with_defaults(const char *statusbar, const char *item,
gboolean create)
{
CONFIG_REC *config, *close_config;
CONFIG_NODE *node;
close_config = NULL;
config = mainconfig;
node = sbar_node(statusbar, FALSE);
if (node == NULL) {
/* we are looking up defaults from the internal config */
close_config = config = config_open(NULL, -1);
config_parse_data(config, default_config, "internal");
node = config_sbar_node(config, statusbar, FALSE);
}
if (node == NULL) {
printformat(NULL, NULL, MSGLEVEL_CLIENTERROR, TXT_STATUSBAR_NOT_FOUND, statusbar);
if (close_config != NULL)
config_close(close_config);
return NULL;
}
node = config_sbar_items_section(config, node, create);
if (node == NULL || (!create && config_node_section(config, node, item, -1) == NULL)) {
printformat(NULL, NULL, MSGLEVEL_CLIENTERROR, TXT_STATUSBAR_ITEM_NOT_FOUND, item);
if (close_config != NULL)
config_close(close_config);
return NULL;
}
if (config != mainconfig) {
/* we need to copy default to user config */
node = statusbar_copy_config(config, node, sbar_node(statusbar, TRUE));
}
if (close_config != NULL)
config_close(close_config);
return node;
}
开发者ID:ailin-nemui,项目名称:irssi,代码行数:43,代码来源:statusbar-config.c
注:本文中的config_close函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论