• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ config_close函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ config_create函数代码示例发布时间:2022-05-30
下一篇:
C++ config_check_cond函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap