> さて、nul-terminateされていないStringを作る方法ですが、Rubyレベルではありません(ないようにしているはずです)。
> 拡張ライブラリでは作ることが一応でき、例えば以下のような感じでしょうか。

Rubyレベルでは作れないのですね。そして拡張ライブラリでのコード、私のRuby知識では読み解くのが難しいですが、実際動かして希望の動作をしていることを確認しました。
ありがとうございます。とても助かりました。

2014年10月7日 0:42 NARUSE, Yui <naruse / airemix.jp>:

> 2014年10月6日 23:21 SASADA Koichi <ko1 / atdot.net>:
> > On 2014/10/06 23:02, NARUSE, Yui wrote:
> >>
> まず、CRubyとしてはStringValuePtrがNUL終端する保証はしていませんから、仮にnull-terminateしてないことにより問題が起きるならば、
> >
> > あれ、してないんでしたっけ? RSTRING_PTR() で取れる C 文字列が NULL
> > 終端するために、色々苦労をしていたような。
>
> 本件のように問題が起きることがしばしばあるので対処はするようにしていますが、
> 拡張ライブラリに対して保証はしていないはずです。
> ご存じの通り、concatや共有の野望もありますし。
>
> --
> NARUSE, Yui  <naruse / airemix.jp>
>