您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ strbuf_init函数代码示例

51自学网 2021-06-03 08:27:17
  C++
这篇教程C++ strbuf_init函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中strbuf_init函数的典型用法代码示例。如果您正苦于以下问题:C++ strbuf_init函数的具体用法?C++ strbuf_init怎么用?C++ strbuf_init使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了strbuf_init函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: finalize

static void finalize(cmark_doc_parser *parser, cmark_node* b, int line_number){	int firstlinelen;	int pos;	cmark_node* item;	cmark_node* subitem;	if (!b->open)		return; // don't do anything if the cmark_node is already closed	b->open = false;	if (line_number > b->start_line) {		b->end_line = line_number - 1;	} else {		b->end_line = line_number;	}	switch (b->type) {		case NODE_PARAGRAPH:			pos = 0;			while (strbuf_at(&b->string_content, 0) == '[' &&					(pos = parse_reference_inline(&b->string_content, parser->refmap))) {				strbuf_drop(&b->string_content, pos);			}			if (is_blank(&b->string_content, 0)) {				b->type = NODE_REFERENCE_DEF;			}			break;		case NODE_INDENTED_CODE:			remove_trailing_blank_lines(&b->string_content);			strbuf_putc(&b->string_content, '/n');			break;		case NODE_FENCED_CODE:			// first line of contents becomes info			firstlinelen = strbuf_strchr(&b->string_content, '/n', 0);			strbuf_init(&b->as.code.info, 0);			houdini_unescape_html_f(					&b->as.code.info,					b->string_content.ptr,					firstlinelen					);			strbuf_drop(&b->string_content, firstlinelen + 1);			strbuf_trim(&b->as.code.info);			strbuf_unescape(&b->as.code.info);			break;		case NODE_LIST: // determine tight/loose status			b->as.list.tight = true; // tight by default			item = b->first_child;			while (item) {				// check for non-final non-empty list item ending with blank line:				if (item->last_line_blank && item->next) {					b->as.list.tight = false;					break;				}				// recurse into children of list item, to see if there are				// spaces between them:				subitem = item->first_child;				while (subitem) {					if (ends_with_blank_line(subitem) &&							(item->next || subitem->next)) {						b->as.list.tight = false;						break;					}					subitem = subitem->next;				}				if (!(b->as.list.tight)) {					break;				}				item = item->next;			}			break;		default:			break;	}}
开发者ID:Frozen-Shadow,项目名称:CommonMark,代码行数:85,


示例2: handle_cache

static int handle_cache(const char *path, unsigned char *sha1, const char *output){	mmfile_t mmfile[3] = {{NULL}};	mmbuffer_t result = {NULL, 0};	const struct cache_entry *ce;	int pos, len, i, hunk_no;	struct rerere_io_mem io;	int marker_size = ll_merge_marker_size(path);	/*	 * Reproduce the conflicted merge in-core	 */	len = strlen(path);	pos = cache_name_pos(path, len);	if (0 <= pos)		return -1;	pos = -pos - 1;	for (i = 0; i < 3; i++) {		enum object_type type;		unsigned long size;		int j;		if (active_nr <= pos)			break;		ce = active_cache[pos++];		if (ce_namelen(ce) != len || memcmp(ce->name, path, len))			continue;		j = ce_stage(ce) - 1;		mmfile[j].ptr = read_sha1_file(ce->sha1, &type, &size);		mmfile[j].size = size;	}	for (i = 0; i < 3; i++) {		if (!mmfile[i].ptr && !mmfile[i].size)			mmfile[i].ptr = xstrdup("");	}	/*	 * NEEDSWORK: handle conflicts from merges with	 * merge.renormalize set, too	 */	ll_merge(&result, path, &mmfile[0], NULL,		 &mmfile[1], "ours",		 &mmfile[2], "theirs", NULL);	for (i = 0; i < 3; i++)		free(mmfile[i].ptr);	memset(&io, 0, sizeof(io));	io.io.getline = rerere_mem_getline;	if (output)		io.io.output = fopen(output, "w");	else		io.io.output = NULL;	strbuf_init(&io.input, 0);	strbuf_attach(&io.input, result.ptr, result.size, result.size);	hunk_no = handle_path(sha1, (struct rerere_io *)&io, marker_size);	strbuf_release(&io.input);	if (io.io.output)		fclose(io.io.output);	return hunk_no;}
开发者ID:AViscatanius,项目名称:git,代码行数:61,


示例3: json_create_config

static void json_create_config(lua_State *l){    json_config_t *cfg;    int i;    cfg = lua_newuserdata(l, sizeof(*cfg));    /* Create GC method to clean up strbuf */    lua_newtable(l);    lua_pushcfunction(l, json_destroy_config);    lua_setfield(l, -2, "__gc");    lua_setmetatable(l, -2);    cfg->encode_sparse_convert = DEFAULT_SPARSE_CONVERT;    cfg->encode_sparse_ratio = DEFAULT_SPARSE_RATIO;    cfg->encode_sparse_safe = DEFAULT_SPARSE_SAFE;    cfg->encode_max_depth = DEFAULT_ENCODE_MAX_DEPTH;    cfg->decode_max_depth = DEFAULT_DECODE_MAX_DEPTH;    cfg->encode_invalid_numbers = DEFAULT_ENCODE_INVALID_NUMBERS;    cfg->decode_invalid_numbers = DEFAULT_DECODE_INVALID_NUMBERS;    cfg->encode_keep_buffer = DEFAULT_ENCODE_KEEP_BUFFER;    cfg->encode_number_precision = DEFAULT_ENCODE_NUMBER_PRECISION;#if DEFAULT_ENCODE_KEEP_BUFFER > 0    strbuf_init(&cfg->encode_buf, 0);#endif    /* Decoding init */    /* Tag all characters as an error */    for (i = 0; i < 256; i++)        cfg->ch2token[i] = T_ERROR;    /* Set tokens that require no further processing */    cfg->ch2token['{'] = T_OBJ_BEGIN;    cfg->ch2token['}'] = T_OBJ_END;    cfg->ch2token['['] = T_ARR_BEGIN;    cfg->ch2token[']'] = T_ARR_END;    cfg->ch2token[','] = T_COMMA;    cfg->ch2token[':'] = T_COLON;    cfg->ch2token['/0'] = T_END;    cfg->ch2token[' '] = T_WHITESPACE;    cfg->ch2token['/t'] = T_WHITESPACE;    cfg->ch2token['/n'] = T_WHITESPACE;    cfg->ch2token['/r'] = T_WHITESPACE;    /* Update characters that require further processing */    cfg->ch2token['f'] = T_UNKNOWN;     /* false? */    cfg->ch2token['i'] = T_UNKNOWN;     /* inf, ininity? */    cfg->ch2token['I'] = T_UNKNOWN;    cfg->ch2token['n'] = T_UNKNOWN;     /* null, nan? */    cfg->ch2token['N'] = T_UNKNOWN;    cfg->ch2token['t'] = T_UNKNOWN;     /* true? */    cfg->ch2token['"'] = T_UNKNOWN;     /* string? */    cfg->ch2token['+'] = T_UNKNOWN;     /* number? */    cfg->ch2token['-'] = T_UNKNOWN;    for (i = 0; i < 10; i++)        cfg->ch2token['0' + i] = T_UNKNOWN;    /* Lookup table for parsing escape characters */    for (i = 0; i < 256; i++)        cfg->escape2char[i] = 0;          /* String error */    cfg->escape2char['"'] = '"';    cfg->escape2char['//'] = '//';    cfg->escape2char['/'] = '/';    cfg->escape2char['b'] = '/b';    cfg->escape2char['t'] = '/t';    cfg->escape2char['n'] = '/n';    cfg->escape2char['f'] = '/f';    cfg->escape2char['r'] = '/r';    cfg->escape2char['u'] = 'u';          /* Unicode parsing required */}
开发者ID:334151798,项目名称:dwindow,代码行数:72,


示例4: get_stash_info

static int get_stash_info(struct stash_info *info, int argc, const char **argv){	int ret;	char *end_of_rev;	char *expanded_ref;	const char *revision;	const char *commit = NULL;	struct object_id dummy;	struct strbuf symbolic = STRBUF_INIT;	if (argc > 1) {		int i;		struct strbuf refs_msg = STRBUF_INIT;		for (i = 0; i < argc; i++)			strbuf_addf(&refs_msg, " '%s'", argv[i]);		fprintf_ln(stderr, _("Too many revisions specified:%s"),			   refs_msg.buf);		strbuf_release(&refs_msg);		return -1;	}	if (argc == 1)		commit = argv[0];	strbuf_init(&info->revision, 0);	if (!commit) {		if (!ref_exists(ref_stash)) {			free_stash_info(info);			fprintf_ln(stderr, _("No stash entries found."));			return -1;		}		strbuf_addf(&info->revision, "%[email
C++ strbuf_insert函数代码示例
C++ strbuf_free函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。