コード例 #1
0
ファイル: dynlib.c プロジェクト: haifenghuang/tort
tort_v _tort_M_dynlib__new(tort_tp tort_mtable *mtable)
{
  tort_dynlib *o = tort_allocate(mtable, sizeof(*o));
  o->name = o->path = o->error =
    o->base_sym = o->base_ptr = tort_nil;
  return _tort_m_map__initialize(tort_ta (tort_v) o);
}
コード例 #2
0
ファイル: mtable.c プロジェクト: haifenghuang/tort
tort_v _tort_m_mtable__initialize(tort_tp tort_mtable *mt, tort_v delegate)
{
  _tort_m_map__initialize(tort_ta (tort_v) mt);
  if ( 0 && tort_(_initialized) ) {
    mt->_map.equality = tort__s(eqQ);
    mt->_map.hash     = tort__s(eqQ_hash);
  }
  mt->delegate = delegate;
  mt->instance_size = 0;
  mt->slots = 0;
  mt->gc_data = 0;
  mt->gc_mark_method = 0;
  mt->gc_free_method = 0;
  mt->data = 0;
  return mt;
}
コード例 #3
0
ファイル: map.c プロジェクト: jbulow/tort
tort_v _tort_M_map__new(tort_tp tort_v mtable, ...)
{
  tort_map *o = tort_allocate(mtable, sizeof(tort_map));
  int i;
  _tort_m_map__initialize(tort_ta o);
  if ( _tort_message && (i = tort_I(_tort_message->argc)) > 1 ) {
    va_list vap;
    va_start(vap, mtable);
    -- i;
    while ( i > 0 ) {
      tort_v k = va_arg(vap, tort_v);
      tort_v v = va_arg(vap, tort_v);
      i -= 2;
      tort_send(tort__s(set), o, k, v);
    }
    va_end(vap);
  }
  return o;
}