/* * call-seq: flush(flush) * * This method is equivalent to <tt>deflate('', flush)</tt>. If flush is omitted, * <tt>Zlib::SYNC_FLUSH</tt> is used as flush. This method is just provided * to improve the readability of your Ruby program. * * TODO: document better! */ static VALUE rb_deflate_flush(argc, argv, obj) int argc; VALUE *argv; VALUE obj; { struct zstream *z = get_zstream(obj); VALUE v_flush, dst; int flush; rb_scan_args(argc, argv, "01", &v_flush); flush = FIXNUMARG(v_flush, Z_SYNC_FLUSH); if (flush != Z_NO_FLUSH) { /* prevent Z_BUF_ERROR */ zstream_run(z, "", 0, flush); } dst = zstream_detach_buffer(z); OBJ_INFECT(dst, obj); return dst; }