[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebindings/qtruby/rubylib/qtruby
From:       Dirk Mueller <mueller () kde ! org>
Date:       2006-08-08 7:21:30
Message-ID: 1155021690.261096.32739.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 570942 by mueller:

marshall ruby strings with NUL bytes in it


 M  +10 -2     marshall_primitives.h  


--- trunk/KDE/kdebindings/qtruby/rubylib/qtruby/marshall_primitives.h #570941:570942
@@ -191,7 +191,11 @@
 	if(v == Qnil)
 		return 0;
 	
-	return strdup(StringValuePtr(v));
+	int len = RSTRING(rv)->len;
+	char* mem = (char*) malloc(len+1);
+	memcpy(mem, StringValuePtr(rv), len);
+	mem[len] ='\0';
+	return (unsigned char*) mem;
 }
 
 template <>
@@ -200,7 +204,11 @@
 	if(v == Qnil)
 		return 0;
 	
-	return (unsigned char*) strdup(StringValuePtr(v));
+	int len = RSTRING(rv)->len;
+	char* mem = (char*) malloc(len+1);
+	memcpy(mem, StringValuePtr(rv), len);
+	mem[len] ='\0';
+	return (unsigned char*) mem;
 }
 
 template <>
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic