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;
}