Exemple #1
0
/* _term_it_show_wide(): show wide text, retaining.
*/
static void
_term_it_show_wide(u2_utty* uty_u, c3_w len_w, c3_w* txt_w)
{
  u2_noun wad   = u2_ci_words(len_w, txt_w);
  u2_noun txt   = u2_do("tuft", wad);
  c3_c*   txt_c = u2_cr_string(txt);

  _term_it_write_str(uty_u, txt_c);
  free(txt_c);
  u2z(txt);

  uty_u->tat_u.mir.cus_w += len_w;
}
Exemple #2
0
/* _http_request(): dispatch http request, returning null if async.
*/
static void
_http_request(u2_hreq* req_u)
{
  u2_noun req = _http_request_to_noun(req_u);

  if ( u2_none != req ) {
    u2_noun pox = _http_pox_to_noun(req_u->hon_u->htp_u->sev_l,
                                    req_u->hon_u->coq_l,
                                    req_u->seq_l);

    u2_reck_plan(u2_Host.arv_u,
                 pox,
                 u2nq(c3__this,
                      req_u->hon_u->htp_u->sec,
                      u2nc(u2_yes, u2_ci_words(1, &req_u->ipf_w)),
                      req));
  }
}
/* u2_ci_chubs():
**
**   Construct `a` double-words from `b`, LSD first, as an atom.
*/
u2_atom
u2_ci_chubs(c3_w        a_w,
            const c3_d* b_d)
{
  //  XX considerably suboptimal
  {
    c3_w *b_w = c3_malloc(a_w * 8);
    c3_w i_w;
    u2_atom p;

    for ( i_w = 0; i_w < a_w; i_w++ ) {
      b_w[(2 * i_w)] = b_d[i_w] & 0xffffffffULL;
      b_w[(2 * i_w) + 1] = b_d[i_w] >> 32ULL;
    }
    p = u2_ci_words((a_w * 2), b_w);
    free(b_w);
    return p;
  }
}