From: Mathieu Bouchard Date: 2003-06-23T03:40:02+09:00 Subject: Re: In 1.8.0 nil.to_s is not the same as "" On Mon, 23 Jun 2003, Yukihiro Matsumoto wrote: > | The problem is not here : do someone has verified *all* the use of > | RSTRING(str)->ptr in ruby ? > I assumed tests should be done before releasing 1.8 when I changed ptr > value to be NULL for empty strings. Apparently it's not true, so that > I will fill "" for ptr again for 1.8.0. If you want to save memory, then instead of pointing to NULL, it could be pointed to a global buffer containing only a \0, e.g.: const char *const rb_str_empty = ""; [...] RSTRING(str)->ptr = rb_str_empty; or something like that. the fact it's global is shared does not really matter except that no attempt should be made to deallocate it. Whenever the string is grown, the ->ptr gets overwritten with a freshly allocated buffer. ________________________________________________________________ Mathieu Bouchard http://artengine.ca/matju