这篇教程C++ strbuf_clear函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中strbuf_clear函数的典型用法代码示例。如果您正苦于以下问题:C++ strbuf_clear函数的具体用法?C++ strbuf_clear怎么用?C++ strbuf_clear使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了strbuf_clear函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: gpath_put/* * gpath_put: put path name * * i) path path name * i) type path type * GPATH_SOURCE: source file * GPATH_OTHER: other file */voidgpath_put(const char *path, int type){ char fid[MAXFIDLEN]; STATIC_STRBUF(sb); assert(opened > 0); if (_mode == 1 && created) return; if (dbop_get(dbop, path) != NULL) return; /* * generate new file id for the path. */ snprintf(fid, sizeof(fid), "%d", _nextkey++); /* * path => fid mapping. */ strbuf_clear(sb); strbuf_puts0(sb, fid); if (type == GPATH_OTHER) strbuf_puts0(sb, "o"); dbop_put_withlen(dbop, path, strbuf_value(sb), strbuf_getlen(sb)); /* * fid => path mapping. */ strbuf_clear(sb); strbuf_puts0(sb, path); if (type == GPATH_OTHER) strbuf_puts0(sb, "o"); dbop_put_withlen(dbop, fid, strbuf_value(sb), strbuf_getlen(sb));}
开发者ID:WilsonChiang,项目名称:global,代码行数:40,
示例2: gpath_put/** * gpath_put: put path name * * @param[in] path path name * @param[in] type path type * GPATH_SOURCE: source file, * GPATH_OTHER: other file */const char *gpath_put(const char *path, int type){ static char sfid[MAXFIDLEN]; STATIC_STRBUF(sb); assert(opened > 0); if (_mode == 1 && created) return ""; if (dbop_get(dbop, path) != NULL) return ""; /* * generate new file id for the path. */ snprintf(sfid, sizeof(sfid), "%d", _nextkey++); /* * path => fid mapping. */ strbuf_clear(sb); strbuf_puts(sb, sfid); dbop_put_path(dbop, path, strbuf_value(sb), type == GPATH_OTHER ? "o" : NULL); /* * fid => path mapping. */ strbuf_clear(sb); strbuf_puts(sb, path); dbop_put_path(dbop, sfid, strbuf_value(sb), type == GPATH_OTHER ? "o" : NULL); return (const char *)sfid;}
开发者ID:libaoyuan242,项目名称:emacs_config,代码行数:37,
示例3: cleanupstatic void cleanup(varnam *handle){ strbuf_clear(handle->internal->output); strbuf_clear(handle->internal->rtl_output); handle->internal->last_token_available = 0; handle->internal->last_rtl_token_available = 0;}
开发者ID:sdqali,项目名称:libvarnam,代码行数:8,
示例4: dbop3_closevoiddbop3_close(DBOP *dbop) { int rc; char *errmsg = 0; rc = sqlite3_exec(dbop->db3, "end transaction", NULL, NULL, &errmsg); if (rc != SQLITE_OK) die("end transaction error: %s", errmsg); /* * create index */ if (dbop->mode == 1 && dbop->openflags & DBOP_DUP) { STATIC_STRBUF(sql); strbuf_clear(sql); strbuf_puts(sql, "create index key_i on "); strbuf_puts(sql, dbop->tblname); strbuf_puts(sql, "(key)"); rc = sqlite3_exec(dbop->db3, strbuf_value(sql), NULL, NULL, &errmsg); if (rc != SQLITE_OK) die("create index error: %s", errmsg); strbuf_clear(sql); strbuf_puts(sql, "create index fid_i on "); strbuf_puts(sql, dbop->tblname); strbuf_puts(sql, "(extra)"); rc = sqlite3_exec(dbop->db3, strbuf_value(sql), NULL, NULL, &errmsg); if (rc != SQLITE_OK) die("create index error: %s", errmsg); } if (dbop->stmt) { rc = sqlite3_finalize(dbop->stmt); if (rc != SQLITE_OK) die("sqlite3_finalize failed. (rc = %d)", rc); dbop->stmt = NULL; } if (dbop->stmt_put3) { rc = sqlite3_finalize(dbop->stmt_put3); if (rc != SQLITE_OK) die("dbop3_finalize failed. (rc = %d)", rc); dbop->stmt_put3 = NULL; } rc = sqlite3_close(dbop->db3); if (rc != SQLITE_OK) die("sqlite3_close failed. (rc = %d)", rc); dbop->db3 = NULL; if (dbop->tblname) free((void *)dbop->tblname); strbuf_close(dbop->sb); free(dbop);}
开发者ID:luchachen,项目名称:global,代码行数:50,
示例5: dbop_put_tag/** * dbop_put_tag: put a tag * * @param[in] dbop descripter * @param[in] name key * @param[in] data data */voiddbop_put_tag(DBOP *dbop, const char *name, const char *data){#ifdef USE_SQLITE3 if (dbop->openflags & DBOP_SQLITE3) { int len; char fid[MAXFIDLEN], *q = fid; const char *p = data; /* extract fid */ while (*p && isdigit(*p)) *q++ = *p++; *q = '/0'; /* trim line */ len = strlen(data); if (data[len-1] == '/n') len--; if (data[len-1] == '/r') len--; if (data[len] == '/r' || data[len] == '/n') { STATIC_STRBUF(sb); strbuf_clear(sb); strbuf_nputs(sb, data, len); data = strbuf_value(sb); } dbop3_put(dbop, name, data, fid); return; }#endif dbop_put(dbop, name, data); return;}
开发者ID:luchachen,项目名称:global,代码行数:40,
示例6: args_read/** * args_read: read path From args. * * @return path (@VAR{NULL}: end of argument) */const char *args_read(void){ const char *p; STATIC_STRBUF(sb); strbuf_clear(sb); switch (type) { case ARGS_NOP: p = NULL; break; case ARGS_ARGS: p = *argslist++; break; case ARGS_FILELIST: p = strbuf_fgets(sb, ip, STRBUF_NOCRLF); break; case ARGS_GFIND: p = gfind_read(gp); break; case ARGS_BOTH: if (*argslist != NULL) p = *argslist++; else p = strbuf_fgets(sb, ip, STRBUF_NOCRLF); break; default: die("args_read: invalid type."); } return p;}
开发者ID:badwtg1111,项目名称:emacs-c-ide-demo,代码行数:36,
示例7: rewrite_string/** * rewrite_string: execute rewrite against string * * @param[in] rewrite object * NULL: just print string * @param[in] string * @param[in] offset start point of the rewriting * @param[in] file descriptor */const char *rewrite_string(REWRITE *rewrite, const char *string, int offset){ STATIC_STRBUF(sb); regmatch_t m; /* if rewrite object is NULL or does not match, just return the string. */ if (rewrite == NULL || rewrite->pattern == NULL) return string; if (regexec(&rewrite->reg, string + offset, 1, &m, 0) != 0) return string; strbuf_clear(sb); strbuf_nputs(sb, string, offset); string += offset; strbuf_nputs(sb, string, m.rm_so); if (rewrite->part[REWRITE_CENTER]) { strbuf_puts(sb, rewrite->part[REWRITE_CENTER]); } else { if (rewrite->part[REWRITE_LEFT]) strbuf_puts(sb, rewrite->part[REWRITE_LEFT]); strbuf_nputs(sb, string + m.rm_so, m.rm_eo - m.rm_so); if (rewrite->part[REWRITE_RIGHT]) strbuf_puts(sb, rewrite->part[REWRITE_RIGHT]); } strbuf_puts(sb, string + m.rm_eo); return (const char *)strbuf_value(sb);}
开发者ID:aYosukeAkatsuka,项目名称:global-6.4,代码行数:36,
示例8: print_directory_name/** * print directory name. * * @param[in] level 0,1,2... * @param[in] path path of the directory * @param[in] count number of files in this directory */static const char *print_directory_name(int level, const char *path, int count){ STATIC_STRBUF(sb); char tips[80]; if (count > 1) snprintf(tips, sizeof(tips), "%d files", count); else snprintf(tips, sizeof(tips), "%d file", count); path = removedotslash(path); strbuf_clear(sb); if (table_flist) strbuf_puts(sb, fitem_begin); else if (!no_order_list) strbuf_puts(sb, item_begin); strbuf_puts(sb, gen_href_begin_with_title(level == 0 ? "files" : NULL, path2fid(path), HTML, NULL, tips)); if (Iflag) { strbuf_puts(sb, gen_image(level == 0 ? CURRENT : PARENT, dir_icon, appendslash(path))); strbuf_puts(sb, quote_space); } strbuf_sprintf(sb, "%s/%s", lastpart(path), gen_href_end()); if (table_flist) strbuf_puts(sb, fitem_end); else if (!no_order_list) strbuf_puts(sb, item_end); else strbuf_puts(sb, br); strbuf_putc(sb, '/n'); return (const char *)strbuf_value(sb);}
开发者ID:aYosukeAkatsuka,项目名称:global-6.4,代码行数:39,
示例9: dbop3_updatevoiddbop3_update(DBOP *dbop, const char *key, const char *dat) { int rc; char *errmsg = 0; STRBUF *sql = strbuf_open_tempbuf(); strbuf_sprintf(sql, "update %s set dat = '%s' where key = '%s'", dbop->tblname, dbop3_quote((char *)dat), key); rc = sqlite3_exec(dbop->db3, strbuf_value(sql), NULL, NULL, &errmsg); if (rc != SQLITE_OK) { sqlite3_close(dbop->db3); die("dbop3_update failed: %s", errmsg); } if (sqlite3_changes(dbop->db3) == 0) { strbuf_clear(sql); strbuf_sprintf(sql, "insert into %s values ('%s', '%s', NULL)", dbop->tblname, key, dbop3_quote((char *)dat)); rc = sqlite3_exec(dbop->db3, strbuf_value(sql), NULL, NULL, &errmsg); if (rc != SQLITE_OK) { sqlite3_close(dbop->db3); die("dbop3_updated failed: %s", errmsg); } } strbuf_release_tempbuf(sql);}
开发者ID:luchachen,项目名称:global,代码行数:25,
示例10: gen_list_begin/** * Generate list begin tag. */const char *gen_list_begin(void){ STATIC_STRBUF(sb); if (strbuf_empty(sb)) { strbuf_clear(sb); if (table_list) { if (enable_xhtml) { strbuf_sprintf(sb, "%s/n%s%s%s%s", table_begin, "<tr><th class='tag'>tag</th>", "<th class='line'>line</th>", "<th class='file'>file</th>", "<th class='code'>source code</th></tr>"); } else { strbuf_sprintf(sb, "%s/n%s%s%s%s", table_begin, "<tr><th nowrap='nowrap' align='left'>tag</th>", "<th nowrap='nowrap' align='right'>line</th>", "<th nowrap='nowrap' align='center'>file</th>", "<th nowrap='nowrap' align='left'>source code</th></tr>"); } } else { strbuf_puts(sb, verbatim_begin); } } return strbuf_value(sb);}
开发者ID:lianhongHou,项目名称:Emacs,代码行数:32,
示例11: sed/** * Load text from file with replacing @CODE{/@PARENT_DIR/@} macro. * Macro @CODE{/@PARENT_DIR/@} is replaced with the parent directory * of the @FILE{HTML} directory. */static const char *sed(FILE *ip, int place){ STATIC_STRBUF(sb); const char *parent_dir = (place == SUBDIR) ? "../.." : ".."; int c, start_position = -1; strbuf_clear(sb); while ((c = fgetc(ip)) != EOF) { strbuf_putc(sb, c); if (c == '@') { int curpos = strbuf_getlen(sb); if (start_position == -1) { start_position = curpos - 1; } else { if (!strncmp("@[email C++ strbuf_close函数代码示例 C++ strbuf_addch函数代码示例
|