# File lib/rubytorrent/bencoding.rb, line 69
  def self.parse_bencoding(c, s)
    lens = c.chr
    while ((x = s.getc) != ?:)
      unless (?0 .. ?9).include? x
        s.ungetc x
        raise RubyTorrent::BEncodingError, "invalid bencoded string length #{lens} + #{x}" 
      end
      lens += x.chr
    end
    raise RubyTorrent::BEncodingError, %{invalid length #{lens} in bencoded string} unless lens.length <= 20
    len = lens.to_i
    raise RubyTorrent::BEncodingError, %{invalid length #{lens} in bencoded string} unless len >= 0
    (len > 0 ? s.read(len) : "")
  end