ext/ccsv.c in ccsv-0.0.1 vs ext/ccsv.c in ccsv-0.0.2

- old
+ new

@@ -9,22 +9,22 @@ if (file == NULL) rb_raise(rb_eRuntimeError, "File not found"); char line[MAX_LENGTH]; char *token; - VALUE parsed = rb_ary_new2(2); - ID clear = rb_intern("clear"); + VALUE ary = rb_ary_new(); + int idx; - int i, j; while (fgets(line, sizeof(line), file) != NULL) { token = strtok(line, DELIMITERS); - rb_funcall(parsed, clear, 0); + idx = 0; while (token != NULL) { - rb_ary_push(parsed, rb_str_new2(token)); + rb_ary_store(ary, idx, rb_str_new(token, strlen(token))); + idx ++; token = strtok(NULL, DELIMITERS); } - rb_yield(parsed); + rb_yield(ary); } return Qnil; }