本文整理汇总了C++中c3_assert函数的典型用法代码示例。如果您正苦于以下问题:C++ c3_assert函数的具体用法?C++ c3_assert怎么用?C++ c3_assert使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了c3_assert函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: _unix_watch_file
/* _unix_watch_file(): initialize file
*/
static void
_unix_watch_file(u3_ufil* fil_u, u3_udir* par_u, c3_c* pax_c)
{
// initialize fil_u
fil_u->dir = c3n;
fil_u->dry = c3n;
fil_u->pax_c = pax_c;
fil_u->par_u = par_u;
fil_u->nex_u = NULL;
fil_u->mug_w = 0;
fil_u->gum_w = 0;
if ( par_u ) {
fil_u->nex_u = par_u->kid_u;
par_u->kid_u = (u3_unod*) fil_u;
}
// stuff fil_u into libuv
// note that we're doing something tricky here
// see comment in _unix_fs_event_cb
c3_w ret_w = uv_fs_event_init(u3L, &fil_u->was_u);
if (0 != ret_w) {
uL(fprintf(uH, "file event init: %s\n", uv_strerror(ret_w)));
c3_assert(0);
}
ret_w = uv_fs_event_start(&fil_u->was_u, _unix_fs_event_cb, pax_c, 0);
if ( 0 != ret_w ) {
uL(fprintf(uH, "file event start %s: %s\n", fil_u->pax_c, uv_strerror(ret_w)));
c3_assert(0);
}
}
开发者ID:juped,项目名称:your-urbit,代码行数:36,代码来源:unix.c
示例2: j2_mci
u2_weak // transfer
j2_mci(Pt6, ut, tack)(u2_wire wir_r,
u2_noun van, // retain
u2_noun sut, // retain
u2_noun peh, // retain
u2_noun mur) // retain
{
u2_weak hoc = u2_ds_look(wir_r, van, "tack");
if ( u2_none == hoc ) {
c3_assert(!"register tack");
return u2_none;
} else {
u2_weak von = u2_rl_molt(wir_r, van, u2_cv_sam, u2_rx(wir_r, sut), 0);
u2_weak gat = u2_nk_soft(wir_r, von, hoc);
u2_weak cor = u2_rl_molt(wir_r, gat, u2_cv_sam_2, u2_rx(wir_r, peh),
u2_cv_sam_3, u2_rx(wir_r, mur),
0);
if ( (u2_none == j2_mcj(Pt6, ut, tack)[0].xip) ) {
u2_noun xip = u2_ds_find(wir_r, cor);
c3_assert(u2_none != xip);
j2_mcj(Pt6, ut, tack)[0].xip = xip;
}
u2_rl_lose(wir_r, gat);
return cor;
}
}
开发者ID:Gruelty,项目名称:urbit,代码行数:29,代码来源:ut_tack.c
示例3: u2_cn_mink
/* u2_cn_mink(): logical virtual nock.
*/
u2_noun
u2_cn_mink(u2_noun bus,
u2_noun fol,
u2_noun fly)
{
u2_noun res;
u2_bean bit;
bit = u2_tx_sys_bit(u2_Wire, u2_no);
c3_assert(bit == u2_yes);
bit = u2_tx_glu_bit(u2_Wire, u2_yes);
{
u2_noun lad;
lad = u2_hevn_at(lad);
u2_hevn_at(lad) = u2nc(fly, u2k(lad));
{
res = _nock_moog(bus, fol);
}
c3_assert(lad == u2ft(u2_hevn_at(lad)));
u2z(u2_hevn_at(lad));
u2_hevn_at(lad) = lad;
}
u2_tx_sys_bit(u2_Wire, u2_yes);
u2_tx_glu_bit(u2_Wire, bit);
return res;
}
开发者ID:ngvrnd,项目名称:urbit,代码行数:33,代码来源:nock.c
示例4: u3qc_muk
/* functions
*/
u3_noun
u3qc_muk(u3_atom seed,
u3_atom len,
u3_atom key)
{
c3_w seed_w;
c3_w len_w;
c3_y *key_y;
c3_w out_w;
c3_assert(u3r_met(5, seed) <= 1);
c3_assert(u3r_met(0, len) <= 31);
c3_assert(u3r_met(3, key) <= len);
seed_w = u3r_word(0, seed);
len_w = u3r_word(0, len);
if (len_w > 0) { /* can't u3a_calloc 0 bytes */
key_y = u3a_calloc(sizeof(c3_y), len);
} else {
key_y = 0;
}
u3r_bytes(0, len, key_y, key);
MurmurHash3_x86_32(key_y, len, seed_w, &out_w);
u3a_free(key_y);
return u3i_words(1, &out_w);
}
开发者ID:bd,项目名称:urbit,代码行数:30,代码来源:muk.c
示例5: u2_term_io_loja
/* u2_term_io_loja(): release console from fprintf.
*/
void
u2_term_io_loja(int x)
{
u2_utty* uty_u = _term_main();
if ( uty_u ) {
if ( uty_u->fid_i > 2 ) {
// We *should* in fact, produce some kind of fake FILE* for
// non-console terminals. If we use this interface enough...
//
c3_assert(0);
}
else {
if ( u2_yes == u2_Host.ops_u.dem ) {
fflush(stdout);
}
else {
if ( 0 != tcsetattr(1, TCSADRAIN, &uty_u->raw_u) ) {
c3_assert(!"loja-tcsetattr");
}
if ( -1 == fcntl(1, F_SETFL, uty_u->nob_i) ) {
c3_assert(!"loja-fcntl");
}
if ( 0 != tcsetattr(0, TCSADRAIN, &uty_u->raw_u) ) {
c3_assert(!"loja-tcsetattr");
}
if ( -1 == fcntl(0, F_SETFL, uty_u->nob_i) ) {
c3_assert(!"loja-fcntl");
}
_term_it_refresh_line(uty_u);
}
}
}
}
开发者ID:gunnarahlberg,项目名称:urbit,代码行数:36,代码来源:term.c
示例6: _unix_load
/* unix_load(): load a file.
*/
static u2_noun
_unix_load(c3_c* pax_c)
{
struct stat buf_u;
c3_i fid_i = open(pax_c, O_RDONLY, 0644);
c3_w fln_w, red_w;
c3_y* pad_y;
if ( (fid_i < 0) || (fstat(fid_i, &buf_u) < 0) ) {
// uL(fprintf(uH, "%s: %s\n", pax_c, strerror(errno)));
c3_assert(0);
return 0;
}
fln_w = buf_u.st_size;
pad_y = malloc(buf_u.st_size);
red_w = read(fid_i, pad_y, fln_w);
close(fid_i);
if ( fln_w != red_w ) {
free(pad_y);
c3_assert(0);
return 0;
}
else {
u2_noun pad = u2_ci_bytes(fln_w, (c3_y *)pad_y);
free(pad_y);
return pad;
}
}
开发者ID:cgyarvin,项目名称:urbit,代码行数:33,代码来源:unix.c
示例7: _http_message_complete
/* _http_message_complete(): jhttp callback
*/
static c3_i
_http_message_complete(http_parser* par_u)
{
u3_hreq* req_u = par_u->data;
u3_hcon* hon_u = req_u->hon_u;
c3_assert(req_u == hon_u->ruc_u);
hon_u->ruc_u = 0;
// _http_req_dump(req_u);
// Queue request for response control.
{
if ( !hon_u->qer_u ) {
c3_assert(!(hon_u->req_u));
hon_u->qer_u = hon_u->req_u = req_u;
}
else {
hon_u->qer_u->nex_u = req_u;
}
}
// Dispatch event request.
//
_http_request(req_u);
return 0;
}
开发者ID:dphiffer,项目名称:urbit,代码行数:29,代码来源:http.c
示例8: _box_attach
/* _box_attach(): attach a box to the free list.
*/
void
_box_attach(u3a_box* box_u)
{
c3_assert(box_u->siz_w >= (1 + c3_wiseof(u3a_fbox)));
c3_assert(0 != u3of(u3a_fbox, box_u));
#if 0
// For debugging, fill the box with beef.
{
c3_w* box_w = (void *)box_u;
c3_w i_w;
for ( i_w = c3_wiseof(u3a_box); (i_w + 1) < box_u->siz_w; i_w++ ) {
box_w[i_w] = 0xdeadbeef;
}
}
#endif
u3R->all.fre_w += box_u->siz_w;
{
c3_w sel_w = _box_slot(box_u->siz_w);
u3p(u3a_fbox) fre_p = u3of(u3a_fbox, box_u);
u3p(u3a_fbox)* pfr_p = &u3R->all.fre_p[sel_w];
u3p(u3a_fbox) nex_p = *pfr_p;
u3to(u3a_fbox, fre_p)->pre_p = 0;
u3to(u3a_fbox, fre_p)->nex_p = nex_p;
if ( u3to(u3a_fbox, fre_p)->nex_p ) {
u3to(u3a_fbox, u3to(u3a_fbox, fre_p)->nex_p)->pre_p = fre_p;
}
(*pfr_p) = fre_p;
}
}
开发者ID:alecbrick,项目名称:urbit,代码行数:35,代码来源:a.c
示例9: u3_sist_put
/* u3_sist_put(): moronic key-value store put.
*/
void
u3_sist_put(const c3_c* key_c, const c3_y* val_y, size_t siz_i)
{
c3_c ful_c[2048];
c3_i ret_i;
c3_i fid_i;
ret_i = snprintf(ful_c, 2048, "%s/.urb/sis/_%s", u3_Host.dir_c, key_c);
c3_assert(ret_i < 2048);
if ( (fid_i = open(ful_c, O_CREAT | O_TRUNC | O_WRONLY, 0600)) < 0 ) {
uL(fprintf(uH, "sist: could not put %s\n", key_c));
perror("open");
u3_lo_bail();
}
if ( (ret_i = write(fid_i, val_y, siz_i)) != siz_i ) {
uL(fprintf(uH, "sist: could not write %s\n", key_c));
if ( ret_i < 0 ) {
perror("write");
}
u3_lo_bail();
}
ret_i = c3_sync(fid_i);
if ( ret_i < 0 ) {
perror("sync");
}
ret_i = close(fid_i);
c3_assert(0 == ret_i);
}
开发者ID:wrmsr,项目名称:urbit,代码行数:31,代码来源:sist.c
示例10: u3_sist_get
/* u3_sist_get(): moronic key-value store get.
*/
void
u3_sist_get(const c3_c* key_c, c3_y* val_y)
{
c3_c ful_c[2048];
c3_i ret_i;
c3_i fid_i;
struct stat sat_u;
ret_i = snprintf(ful_c, 2048, "%s/.urb/sis/_%s", u3_Host.dir_c, key_c);
c3_assert(ret_i < 2048);
if ( (fid_i = open(ful_c, O_RDONLY)) < 0 ) {
uL(fprintf(uH, "sist: could not get %s\n", key_c));
perror("open");
u3_lo_bail();
}
if ( (ret_i = fstat(fid_i, &sat_u)) < 0 ) {
uL(fprintf(uH, "sist: could not stat %s\n", key_c));
perror("fstat");
u3_lo_bail();
}
if ( (ret_i = read(fid_i, val_y, sat_u.st_size)) != sat_u.st_size ) {
uL(fprintf(uH, "sist: could not read %s\n", key_c));
if ( ret_i < 0 ) {
perror("read");
}
u3_lo_bail();
}
ret_i = close(fid_i);
c3_assert(0 == ret_i);
}
开发者ID:wrmsr,项目名称:urbit,代码行数:33,代码来源:sist.c
示例11: u3_sist_has
/* u3_sist_has(): moronic key-value store existence check.
*/
ssize_t
u3_sist_has(const c3_c* key_c)
{
c3_c ful_c[2048];
c3_i ret_i;
struct stat sat_u;
ret_i = snprintf(ful_c, 2048, "%s/.urb/sis/_%s", u3_Host.dir_c, key_c);
c3_assert(ret_i < 2048);
if ( (ret_i = stat(ful_c, &sat_u)) < 0 ) {
if ( errno == ENOENT ) {
return -1;
}
else {
uL(fprintf(uH, "sist: could not stat %s\n", key_c));
perror("stat");
u3_lo_bail();
}
}
else {
return sat_u.st_size;
}
c3_assert(!"not reached");
}
开发者ID:wrmsr,项目名称:urbit,代码行数:27,代码来源:sist.c
示例12: u2_term_io_hija
/* u2_term_io_hija(): hijack console for fprintf, returning FILE*.
*/
FILE*
u2_term_io_hija(void)
{
u2_utty* uty_u = _term_main();
if ( uty_u ) {
if ( uty_u->fid_i > 2 ) {
// We *should* in fact, produce some kind of fake FILE* for
// non-console terminals. If we use this interface enough...
//
c3_assert(0);
}
else {
if ( u2_no == u2_Host.ops_u.dem ) {
if ( 0 != tcsetattr(1, TCSADRAIN, &uty_u->bak_u) ) {
c3_assert(!"hija-tcsetattr");
}
if ( -1 == fcntl(1, F_SETFL, uty_u->cug_i) ) {
c3_assert(!"hija-fcntl");
}
if ( 0 != tcsetattr(0, TCSADRAIN, &uty_u->bak_u) ) {
c3_assert(!"hija-tcsetattr");
}
if ( -1 == fcntl(0, F_SETFL, uty_u->cug_i) ) {
c3_assert(!"hija-fcntl");
}
write(uty_u->fid_i, "\r", 1);
write(uty_u->fid_i, uty_u->ufo_u.out.el_y,
strlen((c3_c*) uty_u->ufo_u.out.el_y));
}
return stdout;
}
}
else return stdout;
}
开发者ID:gunnarahlberg,项目名称:urbit,代码行数:37,代码来源:term.c
示例13: j2_mci
u2_weak // transfer
j2_mci(Pt6, ut, bust)(u2_wire wir_r,
u2_noun van, // retain
u2_noun sut, // retain
u2_noun dib) // retain
{
u2_weak hoc = u2_ds_look(wir_r, van, "bust");
if ( u2_none == hoc ) {
c3_assert(!"register bust");
return u2_none;
} else {
u2_weak von = u2_rl_molt(wir_r, van, u2_cw_sam, u2_rx(wir_r, sut), 0);
u2_weak gat = u2_nk_soft(wir_r, von, hoc);
u2_weak cor = u2_rl_molt(wir_r, gat, u2_cw_sam, u2_rx(wir_r, dib), 0);
if ( (u2_none == j2_mcj(Pt6, ut, bust)[0].xip) ) {
u2_noun xip = u2_ds_find(wir_r, cor);
c3_assert(u2_none != xip);
j2_mcj(Pt6, ut, bust)[0].xip = xip;
}
u2_rl_lose(wir_r, gat);
return cor;
}
}
开发者ID:mnemnion,项目名称:urbit,代码行数:26,代码来源:ut_bust.c
示例14: _unix_watch_dir
/* _unix_watch_dir(): initialize directory
*/
static void
_unix_watch_dir(u3_udir* dir_u, u3_udir* par_u, c3_c* pax_c)
{
// initialize dir_u
dir_u->dir = c3y;
dir_u->dry = c3n;
dir_u->pax_c = pax_c;
dir_u->par_u = par_u;
dir_u->nex_u = NULL;
dir_u->kid_u = NULL;
if ( par_u ) {
dir_u->nex_u = par_u->kid_u;
par_u->kid_u = (u3_unod*) dir_u;
}
// stuff dir_u into libuv
// note that we're doing something tricky here
// see comment in _unix_fs_event_cb
c3_w ret_w = uv_fs_event_init(u3L, &dir_u->was_u);
if (0 != ret_w) {
uL(fprintf(uH, "directory event init: %s\n", uv_strerror(ret_w)));
c3_assert(0);
}
ret_w = uv_fs_event_start(&dir_u->was_u, _unix_fs_event_cb, pax_c, 0);
if (0 != ret_w) {
uL(fprintf(uH, "directory event start: %s\n", uv_strerror(ret_w)));
c3_assert(0);
}
}
开发者ID:juped,项目名称:your-urbit,代码行数:35,代码来源:unix.c
示例15: j2_mci
u2_weak // transfer
j2_mci(Pt6, ut, fink)(u2_wire wir_r,
u2_noun van, // retain
u2_noun sut, // retain
u2_noun dep, // retain
u2_noun way, // retain
u2_noun cog) // retain
{
u2_weak hoc = u2_ds_look(wir_r, van, "fink");
if ( u2_none == hoc ) {
c3_assert(!"register fink");
return u2_none;
} else {
u2_weak von = u2_rl_molt(wir_r, van, u2_cv_sam, u2_rx(wir_r, sut), 0);
u2_weak gat = u2_nk_soft(wir_r, von, hoc);
u2_weak cor = u2_rl_molt(wir_r, gat,
u2_cv_sam_2, u2_rx(wir_r, dep),
u2_cv_sam_6, u2_rx(wir_r, way),
u2_cv_sam_7, u2_rx(wir_r, cog),
0);
if ( (u2_none == j2_mcj(Pt6, ut, fink)[0].xip) ) {
u2_noun xip = u2_ds_find(wir_r, cor);
c3_assert(u2_none != xip);
j2_mcj(Pt6, ut, fink)[0].xip = xip;
}
u2_rl_lose(wir_r, gat);
return cor;
}
}
开发者ID:cgyarvin,项目名称:urbit,代码行数:32,代码来源:ut_fink.c
示例16: j2_mci
u2_bean
j2_mci(Pt6, ut, park)(u2_wire wir_r,
u2_noun van, // retain
u2_noun sut, // retain
u2_noun way, // retain
u2_noun axe) // retain
{
u2_weak hoc = u2_ds_look(wir_r, van, "park");
if ( u2_none == hoc ) {
c3_assert(!"register park");
return u2_none;
} else {
u2_weak von = u2_rl_molt(wir_r, van, u2_cv_sam, u2_rx(wir_r, sut), 0);
u2_weak gat = u2_nk_soft(wir_r, von, hoc);
u2_weak cor = u2_rl_molt(wir_r, gat,
u2_cv_sam_2, u2_rx(wir_r, way),
u2_cv_sam_3, u2_rx(wir_r, axe),
0);
if ( (u2_none == j2_mcj(Pt6, ut, park)[0].xip) ) {
u2_noun xip = u2_ds_find(wir_r, cor);
c3_assert(u2_none != xip);
j2_mcj(Pt6, ut, park)[0].xip = xip;
}
u2_rl_lose(wir_r, gat);
return cor;
}
}
开发者ID:TJamesCorcoran,项目名称:DEPRECATED_urbit_with_kafka,代码行数:30,代码来源:ut_park.c
示例17: j2_mci
u2_weak // produce
j2_mci(Pt6, ut, mint)(u2_wire wir_r,
u2_noun van, // retain
u2_noun sut, // retain
u2_noun gol, // retain
u2_noun gen) // retain
{
u2_weak hoc = u2_ds_look(wir_r, van, "mint");
if ( u2_none == hoc ) {
c3_assert(!"register mint");
return u2_none;
} else {
u2_weak von = u2_rl_molt(wir_r, van, u2_cw_sam, u2_rx(wir_r, sut), 0);
u2_weak gat = u2_nk_soft(wir_r, von, hoc);
u2_weak cor = u2_rl_molt(wir_r, gat,
u2_cw_sam_2, u2_rx(wir_r, gol),
u2_cw_sam_3, u2_rx(wir_r, gen),
0);
if ( (u2_none == j2_mcj(Pt6, ut, mint)[0].xip) ) {
u2_noun xip = u2_ds_find(wir_r, cor);
c3_assert(u2_none != xip);
j2_mcj(Pt6, ut, mint)[0].xip = xip;
}
u2_rl_lose(wir_r, gat);
return cor;
}
}
开发者ID:mnemnion,项目名称:urbit,代码行数:30,代码来源:ut_mint.c
示例18: _unix_dir_watch
/* _unix_dir_watch(): instantiate directory tracker.
*/
static void
_unix_dir_watch(u2_udir* dir_u, u2_udir* par_u, c3_c* pax_c)
{
// (1) build data structure
//
dir_u->yes = u2_yes;
dir_u->dry = u2_no;
dir_u->pax_c = pax_c;
dir_u->par_u = par_u;
dir_u->dis_u = 0;
dir_u->fil_u = 0;
dir_u->nex_u = 0;
// (2) stuff data structure into libuv
//
c3_w ret_w = uv_fs_event_init(u2L, &dir_u->was_u );
if (0 != ret_w){
uL(fprintf(uH, "event init: %s\n", uv_strerror(ret_w)));
c3_assert(0);
}
// note that we're doing something tricky here; see comment in _unix_fs_event_cb
//
ret_w = uv_fs_event_start(&dir_u->was_u,
_unix_fs_event_cb,
pax_c,
0);
if (0 != ret_w){
uL(fprintf(uH, "event start: %s\n", uv_strerror(ret_w)));
c3_assert(0);
}
}
开发者ID:esaul,项目名称:urbit,代码行数:36,代码来源:unix.c
示例19: j2_mci
u2_weak // transfer
j2_mci(Pt6, ut, cull)(u2_wire wir_r,
u2_noun van, // retain
u2_noun sut, // retain
u2_flag pol, // retain
u2_atom axe, // retain
u2_noun ref) // retain
{
u2_weak hoc = u2_ds_look(wir_r, van, "cull");
if ( u2_none == hoc ) {
c3_assert(!"register cull");
return u2_none;
} else {
u2_weak von = u2_rl_molt(wir_r, van, u2_cw_sam, u2_rx(wir_r, sut), 0);
u2_weak gat = u2_nk_soft(wir_r, von, hoc);
u2_weak cor = u2_rl_molt(wir_r, gat,
u2_cw_sam_2, pol,
u2_cw_sam_6, u2_rx(wir_r, axe),
u2_cw_sam_7, u2_rx(wir_r, ref),
0);
if ( (u2_none == j2_mcj(Pt6, ut, cull)[0].xip) ) {
u2_noun xip = u2_ds_find(wir_r, cor);
c3_assert(u2_none != xip);
j2_mcj(Pt6, ut, cull)[0].xip = xip;
}
u2_rl_lose(wir_r, gat);
return cor;
}
}
开发者ID:mnemnion,项目名称:urbit,代码行数:32,代码来源:ut_cull.c
示例20: u2_unix_acquire
/* u2_unix_acquire(): acquire a lockfile, killing anything that holds it.
*/
void
u2_unix_acquire(c3_c* pax_c)
{
c3_c* paf_c = _unix_down(pax_c, ".vere.lock");
c3_w pid_w;
FILE* loq_u;
if ( NULL != (loq_u = fopen(paf_c, "r")) ) {
if ( 1 != fscanf(loq_u, "%u", &pid_w) ) {
uL(fprintf(uH, "lockfile %s is corrupt!\n", paf_c));
kill(getpid(), SIGTERM);
sleep(1); c3_assert(0);
}
else {
c3_w i_w;
if ( -1 != kill(pid_w, SIGTERM) ) {
uL(fprintf(uH, "unix: stopping process %d, live in %s...\n",
pid_w, pax_c));
for ( i_w = 0; i_w < 16; i_w++ ) {
sleep(1);
if ( -1 == kill(pid_w, SIGTERM) ) {
break;
}
}
if ( 16 == i_w ) {
for ( i_w = 0; i_w < 16; i_w++ ) {
if ( -1 == kill(pid_w, SIGKILL) ) {
break;
}
sleep(1);
}
}
if ( 16 == i_w ) {
uL(fprintf(uH, "process %d seems unkillable!\n", pid_w));
c3_assert(0);
}
}
uL(fprintf(uH, "unix: stopped old process %u\n", pid_w));
}
fclose(loq_u);
unlink(paf_c);
}
loq_u = fopen(paf_c, "w");
fprintf(loq_u, "%u\n", getpid());
{
c3_i fid_i = fileno(loq_u);
#if defined(U2_OS_linux)
fdatasync(fid_i);
#else
fcntl(fid_i, F_FULLFSYNC);
#endif
}
fclose(loq_u);
}
开发者ID:cgyarvin,项目名称:urbit,代码行数:60,代码来源:unix.c
注:本文中的c3_assert函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论