]> git.wincent.com - wikitext.git/commitdiff
Add str_append_rb_str function
authorWincent Colaiuta <win@wincent.com>
Fri, 8 May 2009 16:13:54 +0000 (18:13 +0200)
committerWincent Colaiuta <win@wincent.com>
Sun, 10 May 2009 15:03:35 +0000 (17:03 +0200)
This function appends the passed-in Ruby String object to an
existing str_t instance.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
ext/str.c
ext/str.h

index d201cb7f763e89b61485eee5c83a9c36690a94f8..a8f7d31b0c50bf941eb670ffb42f82e8faebce90 100644 (file)
--- a/ext/str.c
+++ b/ext/str.c
@@ -103,6 +103,11 @@ void str_append_str(str_t *str, str_t *other)
     str_append(str, other->ptr, other->len);
 }
 
     str_append(str, other->ptr, other->len);
 }
 
+void str_append_rb_str(str_t *str, VALUE other)
+{
+    str_append(str, RSTRING_PTR(other), RSTRING_LEN(other));
+}
+
 void str_swap(str_t **a, str_t **b)
 {
     str_t *c;
 void str_swap(str_t **a, str_t **b)
 {
     str_t *c;
index 4a4ff8cec9a26ed9a011fd643e1e1e4e38dc1ae5..6509c903fc22e9c8aefdf3ee4302a1572941f9d4 100644 (file)
--- a/ext/str.h
+++ b/ext/str.h
@@ -57,6 +57,9 @@ void str_append(str_t *str, char *src, long len);
 // appends the "other" string struct onto str
 void str_append_str(str_t *str, str_t *other);
 
 // appends the "other" string struct onto str
 void str_append_str(str_t *str, str_t *other);
 
+// appends the "other" string (a Ruby String) onto str
+void str_append_rb_str(str_t *str, VALUE other)
+
 // this is a temporary convenience measure
 // later on if I develop in-place variants of some functions this won't be needed
 void str_swap(str_t **a, str_t **b);
 // this is a temporary convenience measure
 // later on if I develop in-place variants of some functions this won't be needed
 void str_swap(str_t **a, str_t **b);