projects
/
ruby-vorbistagger.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Work with non NUL-terminated comments, too.
[ruby-vorbistagger.git]
/
ext
/
comments.c
diff --git
a/ext/comments.c
b/ext/comments.c
index 03a237b104f87d0fbfd77f78e165dae2a828fb34..03ba68009012eb329fb4f91b9402fe22bae36f48 100644
(file)
--- a/
ext/comments.c
+++ b/
ext/comments.c
@@
-41,14
+41,17
@@
comments_init (VALUE self, vcedit_state *state)
for (i = 0; i < vc->comments; i++) {
VALUE k, v, pair;
char *ptr, *content = vc->user_comments[i];
for (i = 0; i < vc->comments; i++) {
VALUE k, v, pair;
char *ptr, *content = vc->user_comments[i];
+ int k_len, v_len;
ptr = strchr (content, '=');
assert (ptr);
ptr = strchr (content, '=');
assert (ptr);
- k = rb_str_new (content, ptr - content);
+ k_len = ptr - content;
+ k = rb_str_new (content, k_len);
OBJ_FREEZE (k);
OBJ_FREEZE (k);
- v = rb_str_new2 (ptr + 1);
+ v_len = vc->comment_lengths[i] - k_len - 1;
+ v = rb_str_new (ptr + 1, v_len);
pair = rb_ary_new3 (2, k, v);
OBJ_FREEZE (pair);
pair = rb_ary_new3 (2, k, v);
OBJ_FREEZE (pair);