# SafeStringValue

**URL:** <https://www.ruby-forum.com/t/safestringvalue/88467>\
**Category:** Ruby\
**Created:** [March 11, 2007, 4:36pm UTC](https://www.ruby-forum.com/t/safestringvalue/88467 "2007-03-11T16:36:57Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![markcasio](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e9bcb4/32.png) [@markcasio](https://www.ruby-forum.com/u/markcasio)\
**Post date:** [March 11, 2007, 4:36pm UTC](https://www.ruby-forum.com/t/safestringvalue/88467/1 "2007-03-11T16:36:57Z")

</div>

I can’t find any documentation that explains what this Ruby C  
function does. Do you know?

---

<div class="post-metadata">

**Author:** ![markcasio](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e9bcb4/32.png) [@markcasio](https://www.ruby-forum.com/u/markcasio)\
**Post date:** [March 11, 2007, 5:49pm UTC](https://www.ruby-forum.com/t/safestringvalue/88467/2 "2007-03-11T17:49:19Z")

</div>

Mark V. wrote:

> I can’t find any documentation that explains what this Ruby C function  
> does. Do you know?

It’s a macro in ruby.h. Looks like it a) ensures that the VALUE is a  
String object (or can be converted using to\_str) and b) raises an  
exception if $SAFE\> 0 and the string is tainted.
