コード例 #1
0
ファイル: writers.c プロジェクト: liangx8/cpp
writers *wrt_new(){
  writers *io=(writers *)malloc(sizeof(writers));
  io->ios=ary_new();
  io->buf=NULL;
  io->buf_size=0;
  return io;
}
コード例 #2
0
ファイル: ext-helper.c プロジェクト: sumikawa/mhc
/****************************************************************
  新しく ruby 配列 x を作る。cval を C の配列(0番目を指すポインタ)
  だと思って cp_set1 でx に対してどんどん push。
  obj の インスタンス変数 ivname に x をセット。
  ivname が NULL の場合は、obj を配列とみなし obj に x を push。
****************************************************************/
void cp_set2(VALUE obj, char *fmt, char *ivname, void *cval, int len)
{
  int i, s;
  VALUE ary = ary_new();

  for (i = 0; i < len; i++){
    cval += cp_set1(ary, fmt, NULL, cval);
  }
  cp_set1(obj, "v", ivname, &ary);
}
コード例 #3
0
ファイル: init.c プロジェクト: mtmiron/toi
void
toi_set_argv(int argc, char **argv)
{
	int i;
	VALUE ary = ary_new();

	for (i = 0; i < argc; i++)
		ary_push(ary, string_new(argv[i]));
	
	define_global_variable(intern("ARGV"), ary);
}
コード例 #4
0
ファイル: ext-helper.c プロジェクト: sumikawa/mhc
void cp_get2(VALUE obj, char *fmt, char *ivname, void *cval, int len)
{
  int i;
  VALUE val, ary;
  char at_name[100];
  ary = ary_new();

  cp_get1(obj, "v", ivname, &val);
  Check_Type(val, T_ARRAY);
  ary_copy(ary, val);

  dprintf(("cp_get2: %d(length) cval:%d\n", len, cval));
  for (i = 0; i < len; i++){
    cval += cp_get1(ary, fmt, NULL, cval);
  }
}