/*
* call-seq: sync(string)
*
* Inputs +string+ into the end of input buffer and skips data until a full
* flush point can be found. If the point is found in the buffer, this method
* flushes the buffer and returns false. Otherwise it returns +true+ and the
* following data of full flush point is preserved in the buffer.
*/
static VALUE
rb_inflate_sync(VALUE obj, VALUE src)
{
struct zstream *z = get_zstream(obj);
OBJ_INFECT(obj, src);
StringValue(src);
return zstream_sync(z, (Bytef*)RSTRING_PTR(src), RSTRING_LEN(src));
}