コード例 #1
0
ファイル: dash.c プロジェクト: MacTop/urbit
/* _ds_leap(): formula from name and chip.
*/
static u2_weak                                                    //  senior
_ds_leap(u2_wire     wir_r,
         u2_noun     xip,                                         //  retain
         const c3_c* tam_c)                                       //  retain
{
  u2_noun dac = u2_h(xip);
  u2_noun pic = u2_t(dac);

  while ( u2_nul != pic ) {
    u2_noun i_pic = u2_h(pic);
    u2_noun t_pic = u2_t(pic);

    if ( u2_yes == u2_sing_c(tam_c, u2_h(i_pic)) ) {
      return u2_t(i_pic);
    }
    else pic = t_pic;
  }
  return u2_none;
}
コード例 #2
0
ファイル: shed.c プロジェクト: Gruelty/urbit
/* u2_sh_cook():
**
**   Produce hook formula from chip, or u2_none.
*/
u2_weak
u2_sh_cook(u2_wire     wir_r,
           u2_noun     xip,
           const c3_c* tam_c)
{
  u2_noun dac = u2_h(xip);
  u2_noun nut = u2_t(dac);

  while ( u2_nul != nut ) {
    u2_noun i_nut = u2_h(nut);
    u2_noun t_nut = u2_t(nut);

    if ( u2_yes == u2_sing_c(tam_c, u2_h(i_nut)) ) {
      return u2_t(i_nut);
    }
    else nut = t_nut;
  }
  return u2_none;
}