Ruby 1.9.2p136(2010-12-25revision30365)

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Defines | Functions | Variables

# ext/zlib/zlib.c File Reference

`#include <ruby.h>`
`#include <zlib.h>`
`#include <time.h>`
`#include <ruby/encoding.h>`
Include dependency graph for zlib.c:

Go to the source code of this file.

## Data Structures
struct | zstream
struct | zstream::zstream_funcs
struct | gzfile
## Defines
#define | VALGRIND_MAKE_MEM_DEFINED(p, n)
#define | VALGRIND_MAKE_MEM_UNDEFINED(p, n)
#define | RUBY_ZLIB_VERSION "0.6.0"
#define | OBJ_IS_FREED(val) (RBASIC(val)->flags == 0)
#define | GZIP_SUPPORT 1
#define | DEF_MEM_LEVEL MAX_MEM_LEVEL
#define | rb_zlib_adler32_combine rb_f_notimplement
#define | rb_zlib_crc32_combine rb_f_notimplement
#define | ZSTREAM_FLAG_READY 0x1
#define | ZSTREAM_FLAG_IN_STREAM 0x2
#define | ZSTREAM_FLAG_FINISHED 0x4
#define | ZSTREAM_FLAG_CLOSING 0x8
#define | ZSTREAM_FLAG_UNUSED 0x10
#define | ZSTREAM_READY(z) ((z)->flags |= ZSTREAM_FLAG_READY)
#define | ZSTREAM_IS_READY(z) ((z)->flags & ZSTREAM_FLAG_READY)
#define | ZSTREAM_IS_FINISHED(z) ((z)->flags & ZSTREAM_FLAG_FINISHED)
#define | ZSTREAM_IS_CLOSING(z) ((z)->flags & ZSTREAM_FLAG_CLOSING)
#define | ZSTREAM_INITIAL_BUFSIZE 1024
#define | ZSTREAM_AVAIL_OUT_STEP_MAX 16384
#define | ZSTREAM_AVAIL_OUT_STEP_MIN 2048
#define | zstream_init_deflate(z) zstream_init((z), &deflate_funcs)
#define | zstream_init_inflate(z) zstream_init((z), &inflate_funcs)
#define | zstream_append_buffer2(z, v) zstream_append_buffer((z),(Bytef*)RSTRING_PTR(v),RSTRING_LEN(v))
#define | zstream_append_input2(z, v)
#define | zstream_deflate_new(klass) zstream_new((klass), &deflate_funcs)
#define | zstream_inflate_new(klass) zstream_new((klass), &inflate_funcs)
#define | FIXNUMARG(val, ifnil)
#define | ARG_LEVEL(val) FIXNUMARG((val), Z_DEFAULT_COMPRESSION)
#define | ARG_WBITS(val) FIXNUMARG((val), MAX_WBITS)
#define | ARG_MEMLEVEL(val) FIXNUMARG((val), DEF_MEM_LEVEL)
#define | ARG_STRATEGY(val) FIXNUMARG((val), Z_DEFAULT_STRATEGY)
#define | ARG_FLUSH(val) FIXNUMARG((val), Z_NO_FLUSH)
#define | GZ_MAGIC1 0x1f
#define | GZ_MAGIC2 0x8b
#define | GZ_METHOD_DEFLATE 8
#define | GZ_FLAG_MULTIPART 0x2
#define | GZ_FLAG_EXTRA 0x4
#define | GZ_FLAG_ORIG_NAME 0x8
#define | GZ_FLAG_COMMENT 0x10
#define | GZ_FLAG_ENCRYPT 0x20
#define | GZ_FLAG_UNKNOWN_MASK 0xc0
#define | GZ_EXTRAFLAG_FAST 0x4
#define | GZ_EXTRAFLAG_SLOW 0x2
#define | OS_MSDOS 0x00
#define | OS_AMIGA 0x01
#define | OS_VMS 0x02
#define | OS_UNIX 0x03
#define | OS_ATARI 0x05
#define | OS_OS2 0x06
#define | OS_MACOS 0x07
#define | OS_TOPS20 0x0a
#define | OS_WIN32 0x0b
#define | OS_VMCMS 0x04
#define | OS_ZSYSTEM 0x08
#define | OS_CPM 0x09
#define | OS_QDOS 0x0c
#define | OS_RISCOS 0x0d
#define | OS_UNKNOWN 0xff
#define | OS_CODE OS_UNIX
#define | GZFILE_CBUF_CAPA 10
#define | GZFILE_FLAG_SYNC ZSTREAM_FLAG_UNUSED
#define | GZFILE_FLAG_HEADER_FINISHED (ZSTREAM_FLAG_UNUSED << 1)
#define | GZFILE_FLAG_FOOTER_FINISHED (ZSTREAM_FLAG_UNUSED << 2)
#define | GZFILE_IS_FINISHED(gz) (ZSTREAM_IS_FINISHED(&gz->z) && (gz)->z.buf_filled == 0)
#define | GZFILE_READ_SIZE 2048
#define | gzfile_writer_new(gz) gzfile_new((gz),&deflate_funcs,gzfile_writer_end)
#define | gzfile_reader_new(gz) gzfile_new((gz),&inflate_funcs,gzfile_reader_end)
#define | rb_gzwriter_addstr rb_io_addstr
#define | rb_gzwriter_printf rb_io_printf
#define | rb_gzwriter_print rb_io_print
#define | rb_gzwriter_puts rb_io_puts
## Functions
static | NORETURN (void raise_zlib_error(int, const char *))
static VALUE | rb_zlib_version (VALUE)
static VALUE | do_checksum (int, VALUE *, uLong(*)(uLong, const Bytef *, uInt))
static VALUE | rb_zlib_adler32 (int, VALUE *, VALUE)
static VALUE | rb_zlib_crc32 (int, VALUE *, VALUE)
static VALUE | rb_zlib_crc_table (VALUE)
static voidpf | zlib_mem_alloc (voidpf, uInt, uInt)
static void | zlib_mem_free (voidpf, voidpf)
static void | finalizer_warn (const char *)
static void | zstream_init (struct zstream *, const struct zstream_funcs *)
static void | zstream_expand_buffer (struct zstream *)
static void | zstream_expand_buffer_into (struct zstream *, unsigned int)
static void | zstream_append_buffer (struct zstream *, const Bytef *, int)
static VALUE | zstream_detach_buffer (struct zstream *)
static VALUE | zstream_shift_buffer (struct zstream *, int)
static void | zstream_buffer_ungets (struct zstream *, const Bytef *, int)
static void | zstream_buffer_ungetbyte (struct zstream *, int)
static void | zstream_append_input (struct zstream *, const Bytef *, unsigned int)
static void | zstream_discard_input (struct zstream *, unsigned int)
static void | zstream_reset_input (struct zstream *)
static void | zstream_passthrough_input (struct zstream *)
static VALUE | zstream_detach_input (struct zstream *)
static void | zstream_reset (struct zstream *)
static VALUE | zstream_end (struct zstream *)
static void | zstream_run (struct zstream *, Bytef *, uInt, int)
static VALUE | zstream_sync (struct zstream *, Bytef *, uInt)
static void | zstream_mark (struct zstream *)
static void | zstream_free (struct zstream *)
static VALUE | zstream_new (VALUE, const struct zstream_funcs *)
static struct zstream * | get_zstream (VALUE)
static void | zstream_finalize (struct zstream *)
static VALUE | rb_zstream_end (VALUE)
static VALUE | rb_zstream_reset (VALUE)
static VALUE | rb_zstream_finish (VALUE)
static VALUE | rb_zstream_flush_next_in (VALUE)
static VALUE | rb_zstream_flush_next_out (VALUE)
static VALUE | rb_zstream_avail_out (VALUE)
static VALUE | rb_zstream_set_avail_out (VALUE, VALUE)
static VALUE | rb_zstream_avail_in (VALUE)
static VALUE | rb_zstream_total_in (VALUE)
static VALUE | rb_zstream_total_out (VALUE)
static VALUE | rb_zstream_data_type (VALUE)
static VALUE | rb_zstream_adler (VALUE)
static VALUE | rb_zstream_finished_p (VALUE)
static VALUE | rb_zstream_closed_p (VALUE)
static VALUE | rb_deflate_s_allocate (VALUE)
static VALUE | rb_deflate_initialize (int, VALUE *, VALUE)
static VALUE | rb_deflate_init_copy (VALUE, VALUE)
static VALUE | deflate_run (VALUE)
static VALUE | rb_deflate_s_deflate (int, VALUE *, VALUE)
static void | do_deflate (struct zstream *, VALUE, int)
static VALUE | rb_deflate_deflate (int, VALUE *, VALUE)
static VALUE | rb_deflate_addstr (VALUE, VALUE)
static VALUE | rb_deflate_flush (int, VALUE *, VALUE)
static VALUE | rb_deflate_params (VALUE, VALUE, VALUE)
static VALUE | rb_deflate_set_dictionary (VALUE, VALUE)
static VALUE | inflate_run (VALUE)
static VALUE | rb_inflate_s_allocate (VALUE)
static VALUE | rb_inflate_initialize (int, VALUE *, VALUE)
static VALUE | rb_inflate_s_inflate (VALUE, VALUE)
static void | do_inflate (struct zstream *, VALUE)
static VALUE | rb_inflate_inflate (VALUE, VALUE)
static VALUE | rb_inflate_addstr (VALUE, VALUE)
static VALUE | rb_inflate_sync (VALUE, VALUE)
static VALUE | rb_inflate_sync_point_p (VALUE)
static VALUE | rb_inflate_set_dictionary (VALUE, VALUE)
static void | gzfile_mark (struct gzfile *)
static void | gzfile_free (struct gzfile *)
static VALUE | gzfile_new (VALUE, const struct zstream_funcs *, void(*) _((struct gzfile *)))
static void | gzfile_reset (struct gzfile *)
static void | gzfile_close (struct gzfile *, int)
static void | gzfile_write_raw (struct gzfile *)
static VALUE | gzfile_read_raw_partial (VALUE)
static VALUE | gzfile_read_raw_rescue (VALUE)
static VALUE | gzfile_read_raw (struct gzfile *)
static int | gzfile_read_raw_ensure (struct gzfile *, int)
static char * | gzfile_read_raw_until_zero (struct gzfile *, long)
static unsigned int | gzfile_get16 (const unsigned char *)
static unsigned long | gzfile_get32 (const unsigned char *)
static void | gzfile_set32 (unsigned long n, unsigned char *)
static void | gzfile_make_header (struct gzfile *)
static void | gzfile_make_footer (struct gzfile *)
static void | gzfile_read_header (struct gzfile *)
static void | gzfile_check_footer (struct gzfile *)
static void | gzfile_write (struct gzfile *, Bytef *, uInt)
static long | gzfile_read_more (struct gzfile *)
static void | gzfile_calc_crc (struct gzfile *, VALUE)
static VALUE | gzfile_read (struct gzfile *, int)
static VALUE | gzfile_read_all (struct gzfile *)
static void | gzfile_ungets (struct gzfile *, const Bytef *, int)
static void | gzfile_ungetbyte (struct gzfile *, int)
static VALUE | gzfile_writer_end_run (VALUE)
static void | gzfile_writer_end (struct gzfile *)
static VALUE | gzfile_reader_end_run (VALUE)
static void | gzfile_reader_end (struct gzfile *)
static void | gzfile_reader_rewind (struct gzfile *)
static VALUE | gzfile_reader_get_unused (struct gzfile *)
static struct gzfile * | get_gzfile (VALUE)
static VALUE | gzfile_ensure_close (VALUE)
static VALUE | rb_gzfile_s_wrap (int, VALUE *, VALUE)
static VALUE | gzfile_s_open (int, VALUE *, VALUE, const char *)
static VALUE | rb_gzfile_to_io (VALUE)
static VALUE | rb_gzfile_crc (VALUE)
static VALUE | rb_gzfile_mtime (VALUE)
static VALUE | rb_gzfile_level (VALUE)
static VALUE | rb_gzfile_os_code (VALUE)
static VALUE | rb_gzfile_orig_name (VALUE)
static VALUE | rb_gzfile_comment (VALUE)
static VALUE | rb_gzfile_lineno (VALUE)
static VALUE | rb_gzfile_set_lineno (VALUE, VALUE)
static VALUE | rb_gzfile_set_mtime (VALUE, VALUE)
static VALUE | rb_gzfile_set_orig_name (VALUE, VALUE)
static VALUE | rb_gzfile_set_comment (VALUE, VALUE)
static VALUE | rb_gzfile_close (VALUE)
static VALUE | rb_gzfile_finish (VALUE)
static VALUE | rb_gzfile_closed_p (VALUE)
static VALUE | rb_gzfile_eof_p (VALUE)
static VALUE | rb_gzfile_sync (VALUE)
static VALUE | rb_gzfile_set_sync (VALUE, VALUE)
static VALUE | rb_gzfile_total_in (VALUE)
static VALUE | rb_gzfile_total_out (VALUE)
static VALUE | rb_gzfile_path (VALUE)
static VALUE | rb_gzwriter_s_allocate (VALUE)
static VALUE | rb_gzwriter_s_open (int, VALUE *, VALUE)
static VALUE | rb_gzwriter_initialize (int, VALUE *, VALUE)
static VALUE | rb_gzwriter_flush (int, VALUE *, VALUE)
static VALUE | rb_gzwriter_write (VALUE, VALUE)
static VALUE | rb_gzwriter_putc (VALUE, VALUE)
static VALUE | rb_gzreader_s_allocate (VALUE)
static VALUE | rb_gzreader_s_open (int, VALUE *, VALUE)
static VALUE | rb_gzreader_initialize (int, VALUE *, VALUE)
static VALUE | rb_gzreader_rewind (VALUE)
static VALUE | rb_gzreader_unused (VALUE)
static VALUE | rb_gzreader_read (int, VALUE *, VALUE)
static VALUE | rb_gzreader_getc (VALUE)
static VALUE | rb_gzreader_readchar (VALUE)
static VALUE | rb_gzreader_each_byte (VALUE)
static VALUE | rb_gzreader_ungetc (VALUE, VALUE)
static VALUE | rb_gzreader_ungetbyte (VALUE, VALUE)
static void | gzreader_skip_linebreaks (struct gzfile *)
static VALUE | gzreader_gets (int, VALUE *, VALUE)
static VALUE | rb_gzreader_gets (int, VALUE *, VALUE)
static VALUE | rb_gzreader_readline (int, VALUE *, VALUE)
static VALUE | rb_gzreader_each (int, VALUE *, VALUE)
static VALUE | rb_gzreader_readlines (int, VALUE *, VALUE)
void | Init_zlib (void)
int | rb_io_extract_encoding_option (VALUE opt, rb_encoding **enc_p, rb_encoding **enc2_p)
VALUE | rb_str_conv_enc_opts (VALUE, rb_encoding *, rb_encoding *, int, VALUE)
static void | raise_zlib_error (int err, const char *msg)
static VALUE | do_checksum (int argc, VALUE *argv, uLong *func)
static VALUE | gzfile_new (VALUE klass, const struct zstream_funcs *funcs, void(*endfunc)(struct gzfile *))
static VALUE | gzfile_newstr (struct gzfile *gz, VALUE str)
static VALUE | gzfile_readpartial (struct gzfile *gz, int len, VALUE outbuf)
static VALUE | gzfile_getc (struct gzfile *gz)
static void | rb_gzfile_ecopts (struct gzfile *gz, VALUE opts)
static VALUE | rb_gzreader_readpartial (int argc, VALUE *argv, VALUE obj)
static VALUE | rb_gzreader_getbyte (VALUE obj)
static VALUE | rb_gzreader_readbyte (VALUE obj)
static VALUE | rb_gzreader_each_char (VALUE obj)
static void | rscheck (const char *rsptr, long rslen, VALUE rs)
## Variables
static VALUE | cZError
static VALUE | cStreamEnd
static VALUE | cNeedDict
static VALUE | cStreamError
static VALUE | cDataError
static VALUE | cMemError
static VALUE | cBufError
static VALUE | cVersionError
static struct zstream_funcs | deflate_funcs
static struct zstream_funcs | inflate_funcs
static ID | id_write
static ID | id_read
static ID | id_readpartial
static ID | id_flush
static ID | id_seek
static ID | id_close
static ID | id_path
static VALUE | cGzError
static VALUE | cNoFooter
static VALUE | cCRCError
static VALUE | cLengthError

## Define Documentation

#define ARG_FLUSH | ( |  | val | ) | FIXNUMARG((val), Z_NO_FLUSH)

Definition at line 1157 of file zlib.c.

Referenced by rb_deflate_deflate().

#define ARG_LEVEL | ( |  | val | ) | FIXNUMARG((val), Z_DEFAULT_COMPRESSION)

Definition at line 1153 of file zlib.c.

Referenced by rb_deflate_initialize(), rb_deflate_params(), rb_deflate_s_deflate(), and rb_gzwriter_initialize().

#define ARG_MEMLEVEL | ( |  | val | ) | FIXNUMARG((val), DEF_MEM_LEVEL)

Definition at line 1155 of file zlib.c.

Referenced by rb_deflate_initialize().

#define ARG_STRATEGY | ( |  | val | ) | FIXNUMARG((val), Z_DEFAULT_STRATEGY)

Definition at line 1156 of file zlib.c.

Referenced by rb_deflate_initialize(), rb_deflate_params(), and rb_gzwriter_initialize().

#define ARG_WBITS | ( |  | val | ) | FIXNUMARG((val), MAX_WBITS)

Definition at line 1154 of file zlib.c.

Referenced by rb_deflate_initialize(), and rb_inflate_initialize().

#define DEF_MEM_LEVEL MAX_MEM_LEVEL

Definition at line 41 of file zlib.c.

Referenced by Init_zlib(), and rb_gzwriter_initialize().

#define FIXNUMARG | ( |  | val,
|  |  | ifnil
| ) |  |

Value:

    (NIL_P((val)) ? (ifnil) \
        : ((void)Check_Type((val), T_FIXNUM), FIX2INT((val))))

Definition at line 1149 of file zlib.c.

Referenced by rb_deflate_flush(), and rb_gzwriter_flush().

#define GZ_EXTRAFLAG_FAST 0x4

Definition at line 1694 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_EXTRAFLAG_SLOW 0x2

Definition at line 1695 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_COMMENT 0x10

Definition at line 1690 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_ENCRYPT 0x20

Definition at line 1691 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_EXTRA 0x4

Definition at line 1688 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_MULTIPART 0x2

Definition at line 1687 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_ORIG_NAME 0x8

Definition at line 1689 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_UNKNOWN_MASK 0xc0

Definition at line 1692 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_MAGIC1 0x1f

Definition at line 1684 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_MAGIC2 0x8b

Definition at line 1685 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_METHOD_DEFLATE 8

Definition at line 1686 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZFILE_CBUF_CAPA 10

Definition at line 1746 of file zlib.c.

Referenced by gzfile_getc().

#define GZFILE_FLAG_FOOTER_FINISHED (ZSTREAM_FLAG_UNUSED << 2)

Definition at line 1750 of file zlib.c.

Referenced by gzfile_check_footer(), gzfile_getc(), gzfile_make_footer(), gzfile_read(), gzfile_read_all(), gzfile_reader_end_run(), gzfile_reader_get_unused(), and gzfile_readpartial().

#define GZFILE_FLAG_HEADER_FINISHED (ZSTREAM_FLAG_UNUSED << 1)

Definition at line 1749 of file zlib.c.

Referenced by gzfile_make_header(), gzfile_write(), gzfile_writer_end_run(), rb_gzfile_set_comment(), rb_gzfile_set_mtime(), and rb_gzfile_set_orig_name().

#define GZFILE_FLAG_SYNC ZSTREAM_FLAG_UNUSED

Definition at line 1748 of file zlib.c.

Referenced by gzfile_write(), gzfile_write_raw(), rb_gzfile_set_sync(), and rb_gzfile_sync().

#define GZFILE_IS_FINISHED | ( |  | gz | ) | (ZSTREAM_IS_FINISHED(&gz->z) && (gz)->z.buf_filled == 0)

Definition at line 1752 of file zlib.c.

Referenced by gzfile_getc(), gzfile_read(), gzfile_read_all(), gzfile_reader_end_run(), gzfile_reader_get_unused(), gzfile_readpartial(), gzreader_skip_linebreaks(), and rb_gzfile_eof_p().

#define GZFILE_READ_SIZE 2048

Definition at line 1755 of file zlib.c.

Referenced by gzfile_read_raw_partial(), and gzfile_read_raw_rescue().

#define gzfile_reader_new | ( |  | gz | ) | gzfile_new((gz),&inflate_funcs,gzfile_reader_end)

Definition at line 1819 of file zlib.c.

Referenced by rb_gzreader_s_allocate().

#define gzfile_writer_new | ( |  | gz | ) | gzfile_new((gz),&deflate_funcs,gzfile_writer_end)

Definition at line 1818 of file zlib.c.

Referenced by rb_gzwriter_s_allocate().

#define GZIP_SUPPORT 1

Definition at line 33 of file zlib.c.

#define OBJ_IS_FREED | ( |  | val | ) | (RBASIC(val)->flags == 0)

Definition at line 30 of file zlib.c.

#define OS_AMIGA 0x01

Definition at line 1699 of file zlib.c.

Referenced by Init_zlib().

#define OS_ATARI 0x05

Definition at line 1702 of file zlib.c.

Referenced by Init_zlib().

#define OS_CODE OS_UNIX

Definition at line 1716 of file zlib.c.

Referenced by gzfile_new(), and Init_zlib().

#define OS_CPM 0x09

Definition at line 1710 of file zlib.c.

Referenced by Init_zlib().

#define OS_MACOS 0x07

Definition at line 1704 of file zlib.c.

Referenced by Init_zlib().

#define OS_MSDOS 0x00

Definition at line 1698 of file zlib.c.

Referenced by Init_zlib().

#define OS_OS2 0x06

Definition at line 1703 of file zlib.c.

Referenced by Init_zlib().

#define OS_QDOS 0x0c

Definition at line 1711 of file zlib.c.

Referenced by Init_zlib().

#define OS_RISCOS 0x0d

Definition at line 1712 of file zlib.c.

Referenced by Init_zlib().

#define OS_TOPS20 0x0a

Definition at line 1705 of file zlib.c.

Referenced by Init_zlib().

#define OS_UNIX 0x03

Definition at line 1701 of file zlib.c.

Referenced by Init_zlib().

#define OS_UNKNOWN 0xff

Definition at line 1713 of file zlib.c.

Referenced by Init_zlib().

#define OS_VMCMS 0x04

Definition at line 1708 of file zlib.c.

Referenced by Init_zlib().

#define OS_VMS 0x02

Definition at line 1700 of file zlib.c.

Referenced by Init_zlib().

#define OS_WIN32 0x0b

Definition at line 1706 of file zlib.c.

Referenced by Init_zlib().

#define OS_ZSYSTEM 0x08

Definition at line 1709 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_addstr rb_io_addstr

Definition at line 2933 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_print rb_io_print

Definition at line 2943 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_printf rb_io_printf

Definition at line 2938 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_puts rb_io_puts

Definition at line 2948 of file zlib.c.

Referenced by Init_zlib().

#define rb_zlib_adler32_combine rb_f_notimplement

Definition at line 350 of file zlib.c.

Referenced by Init_zlib().

#define rb_zlib_crc32_combine rb_f_notimplement

Definition at line 384 of file zlib.c.

Referenced by Init_zlib().

#define RUBY_ZLIB_VERSION "0.6.0"

Definition at line 27 of file zlib.c.

Referenced by Init_zlib().

#define VALGRIND_MAKE_MEM_DEFINED | ( |  | p,
|  |  | n
| ) |  |

Definition at line 23 of file zlib.c.

Referenced by zlib_mem_alloc().

#define VALGRIND_MAKE_MEM_UNDEFINED | ( |  | p,
|  |  | n
| ) |  |

Definition at line 24 of file zlib.c.

#define zstream_append_buffer2 | ( |  | z,
|  |  | v
| ) |  | zstream_append_buffer((z),(Bytef*)RSTRING_PTR(v),RSTRING_LEN(v))

Definition at line 569 of file zlib.c.

Referenced by gzfile_make_header(), rb_inflate_addstr(), rb_inflate_inflate(), and zstream_passthrough_input().

#define zstream_append_input2 | ( |  | z,
|  |  | v
| ) |  |

Value:

    RB_GC_GUARD(v),\
        zstream_append_input((z), (Bytef*)RSTRING_PTR(v), RSTRING_LEN(v))

Definition at line 663 of file zlib.c.

Referenced by gzfile_read_raw_ensure(), and gzfile_read_raw_until_zero().

#define ZSTREAM_AVAIL_OUT_STEP_MAX 16384

Definition at line 437 of file zlib.c.

Referenced by zstream_expand_buffer(), and zstream_shift_buffer().

#define ZSTREAM_AVAIL_OUT_STEP_MIN 2048

Definition at line 438 of file zlib.c.

Referenced by zstream_expand_buffer().

#define zstream_deflate_new | ( |  | klass | ) | zstream_new((klass), &deflate_funcs)

Definition at line 894 of file zlib.c.

Referenced by rb_deflate_s_allocate().

#define ZSTREAM_FLAG_CLOSING 0x8

Definition at line 426 of file zlib.c.

Referenced by gzfile_reader_end(), and gzfile_writer_end().

#define ZSTREAM_FLAG_FINISHED 0x4

Definition at line 425 of file zlib.c.

Referenced by zstream_run().

#define ZSTREAM_FLAG_IN_STREAM 0x2

Definition at line 424 of file zlib.c.

Referenced by zstream_end(), and zstream_run().

#define ZSTREAM_FLAG_READY 0x1

Definition at line 423 of file zlib.c.

Referenced by zstream_reset().

#define ZSTREAM_FLAG_UNUSED 0x10

Definition at line 427 of file zlib.c.

#define zstream_inflate_new | ( |  | klass | ) | zstream_new((klass), &inflate_funcs)

Definition at line 895 of file zlib.c.

Referenced by rb_inflate_s_allocate().

#define zstream_init_deflate | ( |  | z | ) | zstream_init((z), &deflate_funcs)

Definition at line 485 of file zlib.c.

Referenced by rb_deflate_s_deflate().

#define zstream_init_inflate | ( |  | z | ) | zstream_init((z), &inflate_funcs)

Definition at line 486 of file zlib.c.

Referenced by rb_inflate_s_inflate().

#define ZSTREAM_INITIAL_BUFSIZE 1024

Definition at line 436 of file zlib.c.

Referenced by zstream_expand_buffer().

#define ZSTREAM_IS_CLOSING | ( |  | z | ) | ((z)->flags & ZSTREAM_FLAG_CLOSING)

Definition at line 432 of file zlib.c.

Referenced by gzfile_reader_end(), and gzfile_writer_end().

#define ZSTREAM_IS_FINISHED | ( |  | z | ) | ((z)->flags & ZSTREAM_FLAG_FINISHED)

Definition at line 431 of file zlib.c.

Referenced by gzfile_getc(), gzfile_read(), gzfile_read_all(), gzfile_read_more(), gzfile_readpartial(), gzreader_gets(), rb_inflate_addstr(), rb_inflate_inflate(), and rb_zstream_finished_p().

#define ZSTREAM_IS_READY | ( |  | z | ) | ((z)->flags & ZSTREAM_FLAG_READY)

Definition at line 430 of file zlib.c.

Referenced by get_gzfile(), get_zstream(), gzfile_ensure_close(), gzfile_free(), gzfile_reader_get_unused(), rb_zstream_closed_p(), zstream_end(), and zstream_free().

#define ZSTREAM_READY | ( |  | z | ) | ((z)->flags |= ZSTREAM_FLAG_READY)

Definition at line 429 of file zlib.c.

Referenced by rb_deflate_initialize(), rb_deflate_s_deflate(), rb_gzreader_initialize(), rb_gzwriter_initialize(), rb_inflate_initialize(), and rb_inflate_s_inflate().

## Function Documentation

static VALUE deflate_run | ( | VALUE | args | ) | `[static]`

Definition at line 1221 of file zlib.c.

References RSTRING_LEN, RSTRING_PTR, zstream_detach_buffer(), and zstream_run().

Referenced by rb_deflate_s_deflate().

static VALUE do_checksum | ( | int | argc,
|  | VALUE * | argv,
|  | uLong * | func
| ) |  | `[static]`

Definition at line 289 of file zlib.c.

References func, NIL_P, NUM2ULONG, rb_scan_args(), rb_uint2inum(), RSTRING_LEN, RSTRING_PTR, and StringValue.

static VALUE do_checksum | ( | int | ,
|  | VALUE * | ,
|  | uLong(*)(uLong, const Bytef *, uInt) |
| ) |  | `[static]`

Referenced by rb_zlib_adler32(), and rb_zlib_crc32().

static void do_deflate | ( | struct zstream * | z,
|  | VALUE | src,
|  | int | flush
| ) |  | `[static]`

Definition at line 1277 of file zlib.c.

References NIL_P, RSTRING_LEN, RSTRING_PTR, StringValue, and zstream_run().

Referenced by rb_deflate_addstr(), and rb_deflate_deflate().

static void do_inflate | ( | struct zstream * | z,
|  | VALUE | src
| ) |  | `[static]`

Definition at line 1522 of file zlib.c.

References NIL_P, RSTRING_LEN, RSTRING_PTR, StringValue, and zstream_run().

Referenced by rb_inflate_addstr(), and rb_inflate_inflate().

static void finalizer_warn | ( | const char * | msg | ) | `[static]`

Definition at line 267 of file zlib.c.

Referenced by gzfile_free(), and zstream_finalize().

static struct gzfile * get_gzfile | ( | VALUE | obj | ) | `[static, read]`

Definition at line 2409 of file zlib.c.

References Data_Get_Struct, rb_raise(), gzfile::z, and ZSTREAM_IS_READY.

Referenced by gzreader_gets(), rb_gzfile_close(), rb_gzfile_comment(), rb_gzfile_crc(), rb_gzfile_eof_p(), rb_gzfile_finish(), rb_gzfile_level(), rb_gzfile_lineno(), rb_gzfile_mtime(), rb_gzfile_orig_name(), rb_gzfile_os_code(), rb_gzfile_set_comment(), rb_gzfile_set_lineno(), rb_gzfile_set_mtime(), rb_gzfile_set_orig_name(), rb_gzfile_set_sync(), rb_gzfile_sync(), rb_gzfile_to_io(), rb_gzfile_total_in(), rb_gzfile_total_out(), rb_gzreader_getbyte(), rb_gzreader_getc(), rb_gzreader_read(), rb_gzreader_readpartial(), rb_gzreader_rewind(), rb_gzreader_ungetbyte(), rb_gzreader_ungetc(), rb_gzwriter_flush(), rb_gzwriter_putc(), and rb_gzwriter_write().

static struct zstream * get_zstream | ( | VALUE | obj | ) | `[static, read]`

Definition at line 898 of file zlib.c.

References Data_Get_Struct, rb_raise(), and ZSTREAM_IS_READY.

Referenced by rb_deflate_addstr(), rb_deflate_deflate(), rb_deflate_flush(), rb_deflate_init_copy(), rb_deflate_params(), rb_deflate_set_dictionary(), rb_inflate_addstr(), rb_inflate_inflate(), rb_inflate_set_dictionary(), rb_inflate_sync(), rb_inflate_sync_point_p(), rb_zstream_adler(), rb_zstream_data_type(), rb_zstream_end(), rb_zstream_finish(), rb_zstream_finished_p(), rb_zstream_reset(), rb_zstream_set_avail_out(), rb_zstream_total_in(), and rb_zstream_total_out().

static void gzfile_calc_crc | ( | struct gzfile * | gz,
|  | VALUE | str
| ) |  | `[static]`

Definition at line 2152 of file zlib.c.

References gzfile::crc, RSTRING_LEN, RSTRING_PTR, and gzfile::ungetc.

Referenced by gzfile_getc(), gzfile_read(), gzfile_read_all(), gzfile_readpartial(), and gzreader_skip_linebreaks().

static void gzfile_check_footer | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 2090 of file zlib.c.

References gzfile::crc, zstream::flags, GZFILE_FLAG_FOOTER_FINISHED, gzfile_get32(), gzfile_read_raw_ensure(), zstream::input, rb_raise(), RSTRING_PTR, zstream::stream, gzfile::z, and zstream_discard_input().

Referenced by gzfile_getc(), gzfile_read(), gzfile_read_all(), gzfile_reader_end_run(), gzfile_reader_get_unused(), and gzfile_readpartial().

static void gzfile_close | ( | struct gzfile * | gz,
|  | int | closeflag
| ) |  | `[static]`

Definition at line 1836 of file zlib.c.

References gzfile::comment, gzfile::end, gzfile::io, gzfile::orig_name, Qnil, rb_funcall(), and rb_respond_to().

Referenced by gzfile_ensure_close(), rb_gzfile_close(), and rb_gzfile_finish().

static VALUE gzfile_ensure_close | ( | VALUE | obj | ) | `[static]`

Definition at line 2435 of file zlib.c.

References Data_Get_Struct, gzfile_close(), Qnil, gzfile::z, and ZSTREAM_IS_READY.

Referenced by rb_gzfile_s_wrap().

static void gzfile_free | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 1770 of file zlib.c.

References gzfile::cbuf, finalizer_warn(), zstream::func, xfree(), gzfile::z, zstream_finalize(), and ZSTREAM_IS_READY.

Referenced by gzfile_new().

static unsigned int gzfile_get16 | ( | const unsigned char * | src | ) | `[static]`

Definition at line 1931 of file zlib.c.

Referenced by gzfile_read_header().

static unsigned long gzfile_get32 | ( | const unsigned char * | src | ) | `[static]`

Definition at line 1940 of file zlib.c.

Referenced by gzfile_check_footer(), and gzfile_read_header().

static VALUE gzfile_getc | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 2271 of file zlib.c.

References ALLOC_N, zstream::buf, buf, zstream::buf_filled, gzfile::cbuf, dp, gzfile::ec, ECONV_AFTER_OUTPUT, ECONV_PARTIAL_INPUT, gzfile::enc, gzfile::enc2, zstream::flags, gzfile_calc_crc(), GZFILE_CBUF_CAPA, gzfile_check_footer(), GZFILE_FLAG_FOOTER_FINISHED, GZFILE_IS_FINISHED, gzfile_newstr(), gzfile_read(), gzfile_read_more(), len, OBJ_TAINT, Qnil, rb_econv_check_error(), rb_econv_convert(), rb_enc_associate(), rb_enc_dummy_p(), rb_enc_mbclen(), rb_enc_mbmaxlen, rb_str_new(), RSTRING_END, RSTRING_PTR, gzfile::z, ZSTREAM_IS_FINISHED, and zstream_shift_buffer().

Referenced by rb_gzreader_getc().

static void gzfile_make_footer | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 2004 of file zlib.c.

References buf, gzfile::crc, zstream::flags, GZFILE_FLAG_FOOTER_FINISHED, gzfile_set32(), zstream::stream, gzfile::z, and zstream_append_buffer().

Referenced by gzfile_writer_end_run().

static void gzfile_make_header | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 1960 of file zlib.c.

References buf, gzfile::comment, zstream::flags, GZ_EXTRAFLAG_FAST, GZ_EXTRAFLAG_SLOW, GZ_FLAG_COMMENT, GZ_FLAG_ORIG_NAME, GZ_MAGIC1, GZ_MAGIC2, GZ_METHOD_DEFLATE, GZFILE_FLAG_HEADER_FINISHED, gzfile_set32(), gzfile::level, gzfile::mtime, NIL_P, gzfile::orig_name, gzfile::os_code, gzfile::z, zstream_append_buffer(), and zstream_append_buffer2.

Referenced by gzfile_write(), and gzfile_writer_end_run().

static void gzfile_mark | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 1759 of file zlib.c.

References gzfile::comment, gzfile::ecopts, gzfile::io, gzfile::orig_name, gzfile::path, rb_gc_mark(), gzfile::z, and zstream_mark().

Referenced by gzfile_new().

static VALUE gzfile_new | ( | VALUE | ,
|  | const struct zstream_funcs * | ,
|  | void(*) _((struct gzfile *)) |
| ) |  | `[static]`

static VALUE gzfile_new | ( | VALUE | klass,
|  | const struct zstream_funcs * | funcs,
|  | void (*)(struct gzfile *) | endfunc
| ) |  | `[static]`

Definition at line 1787 of file zlib.c.

References gzfile::cbuf, gzfile::comment, gzfile::crc, Data_Make_Struct, gzfile::ec, gzfile::ecflags, gzfile::ecopts, gzfile::enc, gzfile::enc2, gzfile::end, gzfile_free(), gzfile_mark(), gzfile::io, gzfile::level, gzfile::lineno, gzfile::mtime, NULL, gzfile::orig_name, OS_CODE, gzfile::os_code, gzfile::path, Qnil, rb_default_external_encoding(), gzfile::ungetc, gzfile::z, and zstream_init().

static VALUE gzfile_newstr | ( | struct gzfile * | gz,
|  | VALUE | str
| ) |  | `[static]`

Definition at line 2165 of file zlib.c.

References gzfile::ec, gzfile::ecflags, ECONV_PARTIAL_INPUT, gzfile::ecopts, gzfile::enc, gzfile::enc2, OBJ_TAINT, rb_econv_str_convert(), rb_enc_associate(), rb_enc_dummy_p(), and rb_str_conv_enc_opts().

Referenced by gzfile_getc(), gzfile_read_all(), and gzreader_gets().

static VALUE gzfile_read | ( | struct gzfile * | gz,
|  | int | len
| ) |  | `[static]`

Definition at line 2183 of file zlib.c.

References zstream::buf_filled, zstream::flags, gzfile_calc_crc(), gzfile_check_footer(), GZFILE_FLAG_FOOTER_FINISHED, GZFILE_IS_FINISHED, gzfile_read_more(), Qnil, rb_eArgError, rb_raise(), rb_str_new(), gzfile::z, ZSTREAM_IS_FINISHED, and zstream_shift_buffer().

Referenced by gzfile_getc(), gzreader_gets(), rb_gzreader_getbyte(), and rb_gzreader_read().

static VALUE gzfile_read_all | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 2250 of file zlib.c.

References zstream::flags, gzfile_calc_crc(), gzfile_check_footer(), GZFILE_FLAG_FOOTER_FINISHED, GZFILE_IS_FINISHED, gzfile_newstr(), gzfile_read_more(), OBJ_TAINT, rb_str_new(), gzfile::z, zstream_detach_buffer(), and ZSTREAM_IS_FINISHED.

Referenced by gzreader_gets(), and rb_gzreader_read().

static void gzfile_read_header | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 2015 of file zlib.c.

References gzfile::comment, GZ_EXTRAFLAG_FAST, GZ_EXTRAFLAG_SLOW, GZ_FLAG_COMMENT, GZ_FLAG_ENCRYPT, GZ_FLAG_EXTRA, GZ_FLAG_MULTIPART, GZ_FLAG_ORIG_NAME, GZ_FLAG_UNKNOWN_MASK, GZ_MAGIC1, GZ_MAGIC2, GZ_METHOD_DEFLATE, gzfile_get16(), gzfile_get32(), gzfile_read_raw_ensure(), gzfile_read_raw_until_zero(), zstream::input, len, gzfile::level, gzfile::mtime, OBJ_TAINT, gzfile::orig_name, gzfile::os_code, Qnil, rb_raise(), rb_str_new(), RSTRING_LEN, RSTRING_PTR, gzfile::z, zstream_discard_input(), and zstream_run().

Referenced by rb_gzreader_initialize().

static long gzfile_read_more | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 2130 of file zlib.c.

References zstream::buf_filled, gzfile_read_raw(), NIL_P, rb_raise(), RSTRING_LEN, RSTRING_PTR, gzfile::z, ZSTREAM_IS_FINISHED, and zstream_run().

Referenced by gzfile_getc(), gzfile_read(), gzfile_read_all(), gzfile_readpartial(), gzreader_gets(), and gzreader_skip_linebreaks().

static VALUE gzfile_read_raw | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 1890 of file zlib.c.

References gzfile_read_raw_partial(), gzfile_read_raw_rescue(), rb_eEOFError, rb_eNoMethodError, and rb_rescue2().

Referenced by gzfile_read_more(), gzfile_read_raw_ensure(), and gzfile_read_raw_until_zero().

static int gzfile_read_raw_ensure | ( | struct gzfile * | gz,
|  | int | size
| ) |  | `[static]`

Definition at line 1898 of file zlib.c.

References gzfile_read_raw(), zstream::input, NIL_P, Qfalse, Qtrue, RSTRING_LEN, gzfile::z, and zstream_append_input2.

Referenced by gzfile_check_footer(), and gzfile_read_header().

static VALUE gzfile_read_raw_partial | ( | VALUE | arg | ) | `[static]`

Definition at line 1865 of file zlib.c.

References Check_Type, GZFILE_READ_SIZE, INT2FIX, gzfile::io, rb_funcall(), and T_STRING.

Referenced by gzfile_read_raw().

static VALUE gzfile_read_raw_rescue | ( | VALUE | arg | ) | `[static]`

Definition at line 1876 of file zlib.c.

References Check_Type, GZFILE_READ_SIZE, INT2FIX, gzfile::io, NIL_P, Qnil, rb_eNoMethodError, rb_errinfo, rb_funcall(), rb_obj_is_kind_of(), and T_STRING.

Referenced by gzfile_read_raw().

static char * gzfile_read_raw_until_zero | ( | struct gzfile * | gz,
|  | long | offset
| ) |  | `[static]`

Definition at line 1911 of file zlib.c.

References gzfile_read_raw(), zstream::input, NIL_P, rb_raise(), RSTRING_LEN, RSTRING_PTR, gzfile::z, and zstream_append_input2.

Referenced by gzfile_read_header().

static void gzfile_reader_end | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 2369 of file zlib.c.

References zstream::flags, gzfile_reader_end_run(), rb_ensure(), gzfile::z, zstream_end(), ZSTREAM_FLAG_CLOSING, and ZSTREAM_IS_CLOSING.

static VALUE gzfile_reader_end_run | ( | VALUE | arg | ) | `[static]`

Definition at line 2356 of file zlib.c.

References zstream::flags, gzfile_check_footer(), GZFILE_FLAG_FOOTER_FINISHED, GZFILE_IS_FINISHED, Qnil, and gzfile::z.

Referenced by gzfile_reader_end().

static VALUE gzfile_reader_get_unused | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 2392 of file zlib.c.

References zstream::flags, gzfile_check_footer(), GZFILE_FLAG_FOOTER_FINISHED, GZFILE_IS_FINISHED, zstream::input, NIL_P, OBJ_TAINT, Qnil, rb_str_dup(), gzfile::z, and ZSTREAM_IS_READY.

Referenced by rb_gzreader_unused().

static void gzfile_reader_rewind | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 2378 of file zlib.c.

References gzfile_reset(), zstream::input, INT2FIX, gzfile::io, NIL_P, rb_funcall(), rb_int2inum(), RSTRING_LEN, zstream::stream, and gzfile::z.

Referenced by rb_gzreader_rewind().

static VALUE gzfile_readpartial | ( | struct gzfile * | gz,
|  | int | len,
|  | VALUE | outbuf
| ) |  | `[static]`

Definition at line 2207 of file zlib.c.

References zstream::buf_filled, zstream::flags, gzfile_calc_crc(), gzfile_check_footer(), GZFILE_FLAG_FOOTER_FINISHED, GZFILE_IS_FINISHED, gzfile_read_more(), NIL_P, OBJ_TAINT, rb_eArgError, rb_eEOFError, rb_raise(), rb_str_new(), rb_str_resize(), RSTRING_LEN, RSTRING_PTR, gzfile::z, ZSTREAM_IS_FINISHED, and zstream_shift_buffer().

Referenced by rb_gzreader_readpartial().

static void gzfile_reset | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 1822 of file zlib.c.

References gzfile::crc, gzfile::ec, gzfile::ecflags, gzfile::ecopts, gzfile::enc, gzfile::enc2, gzfile::lineno, OnigEncodingTypeST::name, rb_econv_close(), rb_econv_open_opts(), gzfile::ungetc, gzfile::z, and zstream_reset().

Referenced by gzfile_reader_rewind().

static VALUE gzfile_s_open | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | klass,
|  | const char * | mode
| ) |  | `[static]`

Definition at line 2473 of file zlib.c.

References gzfile::io, rb_eArgError, rb_file_open_str(), rb_gzfile_s_wrap(), and rb_raise().

Referenced by rb_gzreader_s_open(), and rb_gzwriter_s_open().

static void gzfile_set32 | ( | unsigned long | n,
|  | unsigned char * | dst
| ) |  | `[static]`

Definition at line 1951 of file zlib.c.

Referenced by gzfile_make_footer(), and gzfile_make_header().

static void gzfile_ungetbyte | ( | struct gzfile * | gz,
|  | int | c
| ) |  | `[static]`

Definition at line 2324 of file zlib.c.

References gzfile::ungetc, gzfile::z, and zstream_buffer_ungetbyte().

Referenced by rb_gzreader_ungetbyte().

static void gzfile_ungets | ( | struct gzfile * | gz,
|  | const Bytef * | b,
|  | int | len
| ) |  | `[static]`

Definition at line 2317 of file zlib.c.

References len, gzfile::ungetc, gzfile::z, and zstream_buffer_ungets().

Referenced by rb_gzreader_ungetc().

static void gzfile_write | ( | struct gzfile * | gz,
|  | Bytef * | str,
|  | uInt | len
| ) |  | `[static]`

Definition at line 2115 of file zlib.c.

References gzfile::crc, zstream::flags, GZFILE_FLAG_HEADER_FINISHED, GZFILE_FLAG_SYNC, gzfile_make_header(), gzfile_write_raw(), gzfile::z, and zstream_run().

Referenced by rb_gzwriter_putc(), and rb_gzwriter_write().

static void gzfile_write_raw | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 1850 of file zlib.c.

References zstream::buf_filled, zstream::flags, GZFILE_FLAG_SYNC, gzfile::io, OBJ_TAINT, rb_funcall(), rb_respond_to(), gzfile::z, and zstream_detach_buffer().

Referenced by gzfile_write(), gzfile_writer_end_run(), and rb_gzwriter_flush().

static void gzfile_writer_end | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 2347 of file zlib.c.

References zstream::flags, gzfile_writer_end_run(), rb_ensure(), gzfile::z, zstream_end(), ZSTREAM_FLAG_CLOSING, and ZSTREAM_IS_CLOSING.

static VALUE gzfile_writer_end_run | ( | VALUE | arg | ) | `[static]`

Definition at line 2331 of file zlib.c.

References zstream::flags, GZFILE_FLAG_HEADER_FINISHED, gzfile_make_footer(), gzfile_make_header(), gzfile_write_raw(), Qnil, gzfile::z, and zstream_run().

Referenced by gzfile_writer_end().

static VALUE gzreader_gets | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 3299 of file zlib.c.

References zstream::buf, zstream::buf_filled, Check_Type, get_gzfile(), gzfile_newstr(), gzfile_read(), gzfile_read_all(), gzfile_read_more(), gzreader_skip_linebreaks(), gzfile::lineno, memcmp(), NIL_P, Qnil, rb_rs, rb_scan_args(), rscheck(), RSTRING_LEN, RSTRING_PTR, T_STRING, gzfile::z, and ZSTREAM_IS_FINISHED.

Referenced by rb_gzreader_each(), rb_gzreader_gets(), and rb_gzreader_readlines().

static void gzreader_skip_linebreaks | ( | struct gzfile * | gz | ) | `[static]`

Definition at line 3261 of file zlib.c.

References zstream::buf, zstream::buf_filled, gzfile_calc_crc(), GZFILE_IS_FINISHED, gzfile_read_more(), RSTRING_PTR, gzfile::z, zstream_detach_buffer(), and zstream_shift_buffer().

Referenced by gzreader_gets().

static VALUE inflate_run | ( | VALUE | args | ) | `[static]`

Definition at line 1471 of file zlib.c.

References RSTRING_LEN, RSTRING_PTR, zstream_detach_buffer(), and zstream_run().

Referenced by rb_inflate_s_inflate().

void Init_zlib | ( | void |  | ) |

Definition at line 3520 of file zlib.c.

References DEF_MEM_LEVEL, INT2FIX, OS_AMIGA, OS_ATARI, OS_CODE, OS_CPM, OS_MACOS, OS_MSDOS, OS_OS2, OS_QDOS, OS_RISCOS, OS_TOPS20, OS_UNIX, OS_UNKNOWN, OS_VMCMS, OS_VMS, OS_WIN32, OS_ZSYSTEM, rb_cObject, rb_define_alloc_func(), rb_define_class_under(), rb_define_const(), rb_define_method(), rb_define_module(), rb_define_module_function(), rb_define_singleton_method(), rb_deflate_addstr(), rb_deflate_deflate(), rb_deflate_flush(), rb_deflate_init_copy(), rb_deflate_initialize(), rb_deflate_params(), rb_deflate_s_allocate(), rb_deflate_s_deflate(), rb_deflate_set_dictionary(), rb_eStandardError, rb_gzfile_close(), rb_gzfile_closed_p(), rb_gzfile_comment(), rb_gzfile_crc(), rb_gzfile_eof_p(), rb_gzfile_finish(), rb_gzfile_level(), rb_gzfile_lineno(), rb_gzfile_mtime(), rb_gzfile_orig_name(), rb_gzfile_os_code(), rb_gzfile_s_wrap(), rb_gzfile_set_comment(), rb_gzfile_set_lineno(), rb_gzfile_set_mtime(), rb_gzfile_set_orig_name(), rb_gzfile_set_sync(), rb_gzfile_sync(), rb_gzfile_to_io(), rb_gzfile_total_in(), rb_gzfile_total_out(), rb_gzreader_each(), rb_gzreader_each_byte(), rb_gzreader_each_char(), rb_gzreader_getbyte(), rb_gzreader_getc(), rb_gzreader_gets(), rb_gzreader_initialize(), rb_gzreader_read(), rb_gzreader_readbyte(), rb_gzreader_readchar(), rb_gzreader_readline(), rb_gzreader_readlines(), rb_gzreader_readpartial(), rb_gzreader_rewind(), rb_gzreader_s_allocate(), rb_gzreader_s_open(), rb_gzreader_ungetbyte(), rb_gzreader_ungetc(), rb_gzreader_unused(), rb_gzwriter_addstr, rb_gzwriter_flush(), rb_gzwriter_initialize(), rb_gzwriter_print, rb_gzwriter_printf, rb_gzwriter_putc(), rb_gzwriter_puts, rb_gzwriter_s_allocate(), rb_gzwriter_s_open(), rb_gzwriter_write(), rb_include_module(), rb_inflate_addstr(), rb_inflate_inflate(), rb_inflate_initialize(), rb_inflate_s_allocate(), rb_inflate_s_inflate(), rb_inflate_set_dictionary(), rb_inflate_sync(), rb_inflate_sync_point_p(), rb_intern, rb_mEnumerable, rb_str_new2(), rb_undef_alloc_func(), rb_zlib_adler32(), rb_zlib_adler32_combine, rb_zlib_crc32(), rb_zlib_crc32_combine, rb_zlib_crc_table(), rb_zlib_version(), rb_zstream_adler(), rb_zstream_avail_in(), rb_zstream_avail_out(), rb_zstream_closed_p(), rb_zstream_data_type(), rb_zstream_end(), rb_zstream_finish(), rb_zstream_finished_p(), rb_zstream_flush_next_in(), rb_zstream_flush_next_out(), rb_zstream_reset(), rb_zstream_set_avail_out(), rb_zstream_total_in(), rb_zstream_total_out(), and RUBY_ZLIB_VERSION.

static NORETURN | ( | void | raise_zlib_errorint, const char * | ) | `[static]`

static void raise_zlib_error | ( | int | err,
|  | const char * | msg
| ) |  | `[static]`

Definition at line 219 of file zlib.c.

References buf, rb_exc_new2(), rb_exc_raise(), rb_sys_fail(), and snprintf.

Referenced by rb_deflate_init_copy(), rb_deflate_initialize(), rb_deflate_params(), rb_deflate_s_deflate(), rb_deflate_set_dictionary(), rb_gzreader_initialize(), rb_gzwriter_initialize(), rb_inflate_initialize(), rb_inflate_s_inflate(), rb_inflate_set_dictionary(), rb_inflate_sync_point_p(), zstream_end(), zstream_reset(), zstream_run(), and zstream_sync().

static VALUE rb_deflate_addstr | ( | VALUE | obj,
|  | VALUE | src
| ) |  | `[static]`

Definition at line 1326 of file zlib.c.

References do_deflate(), get_zstream(), and OBJ_INFECT.

Referenced by Init_zlib().

static VALUE rb_deflate_deflate | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 1304 of file zlib.c.

References ARG_FLUSH, do_deflate(), get_zstream(), OBJ_INFECT, rb_scan_args(), and zstream_detach_buffer().

Referenced by Init_zlib().

static VALUE rb_deflate_flush | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 1343 of file zlib.c.

References FIXNUMARG, get_zstream(), OBJ_INFECT, rb_scan_args(), zstream_detach_buffer(), and zstream_run().

Referenced by Init_zlib().

static VALUE rb_deflate_init_copy | ( | VALUE | self,
|  | VALUE | orig
| ) |  | `[static]`

Definition at line 1200 of file zlib.c.

References zstream::buf, zstream::buf_filled, Data_Get_Struct, err, zstream::flags, get_zstream(), zstream::input, NIL_P, Qnil, raise_zlib_error(), rb_str_dup(), and zstream::stream.

Referenced by Init_zlib().

static VALUE rb_deflate_initialize | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 1176 of file zlib.c.

References ARG_LEVEL, ARG_MEMLEVEL, ARG_STRATEGY, ARG_WBITS, Data_Get_Struct, err, raise_zlib_error(), rb_scan_args(), zstream::stream, and ZSTREAM_READY.

Referenced by Init_zlib().

static VALUE rb_deflate_params | ( | VALUE | obj,
|  | VALUE | v_level,
|  | VALUE | v_strategy
| ) |  | `[static]`

Definition at line 1370 of file zlib.c.

References ARG_LEVEL, ARG_STRATEGY, zstream::buf_filled, err, get_zstream(), Qnil, raise_zlib_error(), rb_warning(), zstream::stream, and zstream_expand_buffer().

Referenced by Init_zlib().

static VALUE rb_deflate_s_allocate | ( | VALUE | klass | ) | `[static]`

Definition at line 1161 of file zlib.c.

References zstream_deflate_new.

Referenced by Init_zlib().

static VALUE rb_deflate_s_deflate | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | klass
| ) |  | `[static]`

Definition at line 1251 of file zlib.c.

References ARG_LEVEL, deflate_run(), err, OBJ_INFECT, raise_zlib_error(), rb_ensure(), rb_scan_args(), zstream::stream, StringValue, zstream_end(), zstream_init_deflate, and ZSTREAM_READY.

Referenced by Init_zlib().

static VALUE rb_deflate_set_dictionary | ( | VALUE | obj,
|  | VALUE | dic
| ) |  | `[static]`

Definition at line 1407 of file zlib.c.

References err, get_zstream(), OBJ_INFECT, raise_zlib_error(), RSTRING_LEN, RSTRING_PTR, zstream::stream, and StringValue.

Referenced by Init_zlib().

static VALUE rb_gzfile_close | ( | VALUE | obj | ) | `[static]`

Definition at line 2653 of file zlib.c.

References get_gzfile(), gzfile_close(), and gzfile::io.

Referenced by Init_zlib().

static VALUE rb_gzfile_closed_p | ( | VALUE | obj | ) | `[static]`

Definition at line 2683 of file zlib.c.

References Data_Get_Struct, gzfile::io, NIL_P, Qfalse, and Qtrue.

Referenced by Init_zlib().

static VALUE rb_gzfile_comment | ( | VALUE | obj | ) | `[static]`

Definition at line 2551 of file zlib.c.

References gzfile::comment, get_gzfile(), NIL_P, OBJ_TAINT, and rb_str_dup().

Referenced by Init_zlib().

static VALUE rb_gzfile_crc | ( | VALUE | obj | ) | `[static]`

Definition at line 2499 of file zlib.c.

References gzfile::crc, get_gzfile(), and rb_uint2inum().

Referenced by Init_zlib().

static void rb_gzfile_ecopts | ( | struct gzfile * | gz,
|  | VALUE | opts
| ) |  | `[static]`

Definition at line 2766 of file zlib.c.

References gzfile::ec, gzfile::ecflags, gzfile::ecopts, gzfile::enc, gzfile::enc2, OnigEncodingTypeST::name, NIL_P, rb_econv_open_opts(), rb_econv_prepare_opts(), and rb_io_extract_encoding_option().

Referenced by rb_gzreader_initialize(), and rb_gzwriter_initialize().

static VALUE rb_gzfile_eof_p | ( | VALUE | obj | ) | `[static]`

Definition at line 2694 of file zlib.c.

References get_gzfile(), GZFILE_IS_FINISHED, Qfalse, and Qtrue.

Referenced by Init_zlib().

static VALUE rb_gzfile_finish | ( | VALUE | obj | ) | `[static]`

Definition at line 2669 of file zlib.c.

References get_gzfile(), gzfile_close(), and gzfile::io.

Referenced by Init_zlib().

static VALUE rb_gzfile_level | ( | VALUE | obj | ) | `[static]`

Definition at line 2517 of file zlib.c.

References get_gzfile(), INT2FIX, and gzfile::level.

Referenced by Init_zlib().

static VALUE rb_gzfile_lineno | ( | VALUE | obj | ) | `[static]`

Definition at line 2565 of file zlib.c.

References get_gzfile(), INT2NUM(), and gzfile::lineno.

Referenced by Init_zlib().

static VALUE rb_gzfile_mtime | ( | VALUE | obj | ) | `[static]`

Definition at line 2508 of file zlib.c.

References get_gzfile(), gzfile::mtime, rb_time_new(), and time_t.

Referenced by Init_zlib().

static VALUE rb_gzfile_orig_name | ( | VALUE | obj | ) | `[static]`

Definition at line 2536 of file zlib.c.

References get_gzfile(), NIL_P, OBJ_TAINT, gzfile::orig_name, and rb_str_dup().

Referenced by Init_zlib().

static VALUE rb_gzfile_os_code | ( | VALUE | obj | ) | `[static]`

Definition at line 2526 of file zlib.c.

References get_gzfile(), INT2FIX, and gzfile::os_code.

Referenced by Init_zlib().

static VALUE rb_gzfile_path | ( | VALUE | obj | ) | `[static]`

Definition at line 2758 of file zlib.c.

References Data_Get_Struct, and gzfile::path.

Referenced by rb_gzreader_initialize(), and rb_gzwriter_initialize().

static VALUE rb_gzfile_s_wrap | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | klass
| ) |  | `[static]`

Definition at line 2457 of file zlib.c.

References gzfile_ensure_close(), rb_block_given_p(), rb_class_new_instance(), rb_ensure(), and rb_yield().

Referenced by gzfile_s_open(), and Init_zlib().

static VALUE rb_gzfile_set_comment | ( | VALUE | obj,
|  | VALUE | str
| ) |  | `[static]`

Definition at line 2630 of file zlib.c.

References gzfile::comment, zstream::flags, get_gzfile(), GZFILE_FLAG_HEADER_FINISHED, rb_raise(), rb_str_dup(), rb_str_resize(), rb_str_to_str(), RSTRING_LEN, RSTRING_PTR, and gzfile::z.

Referenced by Init_zlib().

static VALUE rb_gzfile_set_lineno | ( | VALUE | obj,
|  | VALUE | lineno
| ) |  | `[static]`

Definition at line 2574 of file zlib.c.

References get_gzfile(), gzfile::lineno, and NUM2INT.

Referenced by Init_zlib().

static VALUE rb_gzfile_set_mtime | ( | VALUE | obj,
|  | VALUE | mtime
| ) |  | `[static]`

Definition at line 2585 of file zlib.c.

References FIX2INT, FIX2UINT, FIXNUM_P, zstream::flags, get_gzfile(), GZFILE_FLAG_HEADER_FINISHED, gzfile::mtime, rb_big2ulong(), rb_Integer(), rb_raise(), and gzfile::z.

Referenced by Init_zlib().

static VALUE rb_gzfile_set_orig_name | ( | VALUE | obj,
|  | VALUE | str
| ) |  | `[static]`

Definition at line 2608 of file zlib.c.

References zstream::flags, get_gzfile(), GZFILE_FLAG_HEADER_FINISHED, gzfile::orig_name, rb_raise(), rb_str_dup(), rb_str_resize(), rb_str_to_str(), RSTRING_LEN, RSTRING_PTR, and gzfile::z.

Referenced by Init_zlib().

static VALUE rb_gzfile_set_sync | ( | VALUE | obj,
|  | VALUE | mode
| ) |  | `[static]`

Definition at line 2717 of file zlib.c.

References zstream::flags, get_gzfile(), GZFILE_FLAG_SYNC, RTEST, and gzfile::z.

Referenced by Init_zlib().

static VALUE rb_gzfile_sync | ( | VALUE | obj | ) | `[static]`

Definition at line 2704 of file zlib.c.

References zstream::flags, get_gzfile(), GZFILE_FLAG_SYNC, Qfalse, Qtrue, and gzfile::z.

Referenced by Init_zlib().

static VALUE rb_gzfile_to_io | ( | VALUE | obj | ) | `[static]`

Definition at line 2490 of file zlib.c.

References get_gzfile(), and gzfile::io.

Referenced by Init_zlib().

static VALUE rb_gzfile_total_in | ( | VALUE | obj | ) | `[static]`

Definition at line 2734 of file zlib.c.

References get_gzfile(), rb_uint2inum(), zstream::stream, and gzfile::z.

Referenced by Init_zlib().

static VALUE rb_gzfile_total_out | ( | VALUE | obj | ) | `[static]`

Definition at line 2743 of file zlib.c.

References zstream::buf_filled, get_gzfile(), rb_uint2inum(), zstream::stream, and gzfile::z.

Referenced by Init_zlib().

static VALUE rb_gzreader_each | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 3410 of file zlib.c.

References gzreader_gets(), NIL_P, rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_zlib().

static VALUE rb_gzreader_each_byte | ( | VALUE | obj | ) | `[static]`

Definition at line 3218 of file zlib.c.

References NIL_P, Qnil, rb_gzreader_getbyte(), rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_zlib().

static VALUE rb_gzreader_each_char | ( | VALUE | obj | ) | `[static]`

Definition at line 3202 of file zlib.c.

References NIL_P, Qnil, rb_gzreader_getc(), rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_zlib().

static VALUE rb_gzreader_getbyte | ( | VALUE | obj | ) | `[static]`

Definition at line 3172 of file zlib.c.

References get_gzfile(), gzfile_read(), INT2FIX, NIL_P, and RSTRING_PTR.

Referenced by Init_zlib(), rb_gzreader_each_byte(), and rb_gzreader_readbyte().

static VALUE rb_gzreader_getc | ( | VALUE | obj | ) | `[static]`

Definition at line 3147 of file zlib.c.

References get_gzfile(), and gzfile_getc().

Referenced by Init_zlib(), rb_gzreader_each_char(), and rb_gzreader_readchar().

static VALUE rb_gzreader_gets | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 3382 of file zlib.c.

References gzreader_gets(), NIL_P, and rb_lastline_set().

Referenced by Init_zlib(), and rb_gzreader_readline().

static VALUE rb_gzreader_initialize | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 3038 of file zlib.c.

References Data_Get_Struct, err, gzfile_read_header(), gzfile::io, NIL_P, gzfile::path, Qnil, raise_zlib_error(), rb_check_convert_type(), rb_define_singleton_method(), rb_funcall(), rb_gzfile_ecopts(), rb_gzfile_path(), rb_respond_to(), rb_scan_args(), zstream::stream, T_HASH, gzfile::z, and ZSTREAM_READY.

Referenced by Init_zlib().

static VALUE rb_gzreader_read | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 3097 of file zlib.c.

References get_gzfile(), gzfile_read(), gzfile_read_all(), len, NIL_P, NUM2INT, rb_eArgError, rb_raise(), and rb_scan_args().

Referenced by Init_zlib().

static VALUE rb_gzreader_readbyte | ( | VALUE | obj | ) | `[static]`

Definition at line 3188 of file zlib.c.

References NIL_P, rb_eEOFError, rb_gzreader_getbyte(), and rb_raise().

Referenced by Init_zlib().

static VALUE rb_gzreader_readchar | ( | VALUE | obj | ) | `[static]`

Definition at line 3158 of file zlib.c.

References NIL_P, rb_eEOFError, rb_gzreader_getc(), and rb_raise().

Referenced by Init_zlib().

static VALUE rb_gzreader_readline | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 3396 of file zlib.c.

References NIL_P, rb_eEOFError, rb_gzreader_gets(), and rb_raise().

Referenced by Init_zlib().

static VALUE rb_gzreader_readlines | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 3426 of file zlib.c.

References gzreader_gets(), NIL_P, rb_ary_new(), and rb_ary_push().

Referenced by Init_zlib().

static VALUE rb_gzreader_readpartial | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 3126 of file zlib.c.

References Check_Type, get_gzfile(), gzfile_readpartial(), len, NIL_P, NUM2INT, rb_eArgError, rb_raise(), rb_scan_args(), and T_STRING.

Referenced by Init_zlib().

static VALUE rb_gzreader_rewind | ( | VALUE | obj | ) | `[static]`

Definition at line 3074 of file zlib.c.

References get_gzfile(), gzfile_reader_rewind(), and INT2FIX.

Referenced by Init_zlib().

static VALUE rb_gzreader_s_allocate | ( | VALUE | klass | ) | `[static]`

Definition at line 3009 of file zlib.c.

References gzfile_reader_new.

Referenced by Init_zlib().

static VALUE rb_gzreader_s_open | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | klass
| ) |  | `[static]`

Definition at line 3022 of file zlib.c.

References gzfile_s_open().

Referenced by Init_zlib().

static VALUE rb_gzreader_ungetbyte | ( | VALUE | obj,
|  | VALUE | ch
| ) |  | `[static]`

Definition at line 3253 of file zlib.c.

References get_gzfile(), gzfile_ungetbyte(), NUM2CHR(), and Qnil.

Referenced by Init_zlib(), and rb_gzreader_ungetc().

static VALUE rb_gzreader_ungetc | ( | VALUE | obj,
|  | VALUE | s
| ) |  | `[static]`

Definition at line 3234 of file zlib.c.

References gzfile::enc2, FIXNUM_P, get_gzfile(), gzfile_ungets(), Qnil, rb_ascii8bit_encoding(), rb_enc_get(), rb_gzreader_ungetbyte(), rb_str_conv_enc(), RSTRING_LEN, RSTRING_PTR, and StringValue.

Referenced by Init_zlib().

static VALUE rb_gzreader_unused | ( | VALUE | obj | ) | `[static]`

Definition at line 3086 of file zlib.c.

References Data_Get_Struct, and gzfile_reader_get_unused().

Referenced by Init_zlib().

static VALUE rb_gzwriter_flush | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 2877 of file zlib.c.

References FIXNUMARG, get_gzfile(), gzfile_write_raw(), gzfile::io, rb_funcall(), rb_respond_to(), rb_scan_args(), gzfile::z, and zstream_run().

Referenced by Init_zlib().

static VALUE rb_gzwriter_initialize | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 2836 of file zlib.c.

References ARG_LEVEL, ARG_STRATEGY, Data_Get_Struct, DEF_MEM_LEVEL, err, gzfile::io, gzfile::level, NIL_P, gzfile::path, Qnil, raise_zlib_error(), rb_check_convert_type(), rb_define_singleton_method(), rb_funcall(), rb_gzfile_ecopts(), rb_gzfile_path(), rb_respond_to(), rb_scan_args(), zstream::stream, T_HASH, gzfile::z, and ZSTREAM_READY.

Referenced by Init_zlib().

static VALUE rb_gzwriter_putc | ( | VALUE | obj,
|  | VALUE | ch
| ) |  | `[static]`

Definition at line 2918 of file zlib.c.

References get_gzfile(), gzfile_write(), and NUM2CHR().

Referenced by Init_zlib().

static VALUE rb_gzwriter_s_allocate | ( | VALUE | klass | ) | `[static]`

Definition at line 2809 of file zlib.c.

References gzfile_writer_new.

Referenced by Init_zlib().

static VALUE rb_gzwriter_s_open | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | klass
| ) |  | `[static]`

Definition at line 2822 of file zlib.c.

References gzfile_s_open().

Referenced by Init_zlib().

static VALUE rb_gzwriter_write | ( | VALUE | obj,
|  | VALUE | str
| ) |  | `[static]`

Definition at line 2901 of file zlib.c.

References gzfile::enc2, get_gzfile(), gzfile_write(), INT2FIX, rb_ascii8bit_encoding(), rb_enc_get(), rb_obj_as_string(), rb_str_conv_enc(), RSTRING_LEN, RSTRING_PTR, T_STRING, and TYPE.

Referenced by Init_zlib().

static VALUE rb_inflate_addstr | ( | VALUE | obj,
|  | VALUE | src
| ) |  | `[static]`

Definition at line 1586 of file zlib.c.

References do_inflate(), get_zstream(), NIL_P, OBJ_INFECT, StringValue, zstream_append_buffer2, ZSTREAM_IS_FINISHED, and zstream_passthrough_input().

Referenced by Init_zlib().

static VALUE rb_inflate_inflate | ( | VALUE | obj,
|  | VALUE | src
| ) |  | `[static]`

Definition at line 1549 of file zlib.c.

References do_inflate(), get_zstream(), NIL_P, OBJ_INFECT, rb_str_new(), StringValue, zstream_append_buffer2, zstream_detach_buffer(), ZSTREAM_IS_FINISHED, and zstream_passthrough_input().

Referenced by Init_zlib().

static VALUE rb_inflate_initialize | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 1452 of file zlib.c.

References ARG_WBITS, Data_Get_Struct, err, raise_zlib_error(), rb_scan_args(), zstream::stream, and ZSTREAM_READY.

Referenced by Init_zlib().

static VALUE rb_inflate_s_allocate | ( | VALUE | klass | ) | `[static]`

Definition at line 1438 of file zlib.c.

References zstream_inflate_new.

Referenced by Init_zlib().

static VALUE rb_inflate_s_inflate | ( | VALUE | obj,
|  | VALUE | src
| ) |  | `[static]`

Definition at line 1499 of file zlib.c.

References err, inflate_run(), OBJ_INFECT, raise_zlib_error(), rb_ensure(), zstream::stream, StringValue, zstream_end(), zstream_init_inflate, and ZSTREAM_READY.

Referenced by Init_zlib().

static VALUE rb_inflate_set_dictionary | ( | VALUE | obj,
|  | VALUE | dic
| ) |  | `[static]`

Definition at line 1656 of file zlib.c.

References err, get_zstream(), OBJ_INFECT, raise_zlib_error(), RSTRING_LEN, RSTRING_PTR, zstream::stream, and StringValue.

Referenced by Init_zlib().

static VALUE rb_inflate_sync | ( | VALUE | obj,
|  | VALUE | src
| ) |  | `[static]`

Definition at line 1617 of file zlib.c.

References get_zstream(), OBJ_INFECT, RSTRING_LEN, RSTRING_PTR, StringValue, and zstream_sync().

Referenced by Init_zlib().

static VALUE rb_inflate_sync_point_p | ( | VALUE | obj | ) | `[static]`

Definition at line 1634 of file zlib.c.

References err, get_zstream(), Qfalse, Qtrue, raise_zlib_error(), and zstream::stream.

Referenced by Init_zlib().

int rb_io_extract_encoding_option | ( | VALUE | opt,
|  | rb_encoding ** | enc_p,
|  | rb_encoding ** | enc2_p
| ) |  |

Referenced by rb_gzfile_ecopts(), and rb_io_extract_modeenc().

VALUE rb_str_conv_enc_opts | ( | VALUE | ,
|  | rb_encoding * | ,
|  | rb_encoding * | ,
|  | int | ,
|  | VALUE |
| ) |  |

Referenced by gzfile_newstr(), and rb_str_conv_enc().

static VALUE rb_zlib_adler32 | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | klass
| ) |  | `[static]`

Definition at line 329 of file zlib.c.

References do_checksum().

Referenced by Init_zlib().

static VALUE rb_zlib_crc32 | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | klass
| ) |  | `[static]`

Definition at line 363 of file zlib.c.

References do_checksum().

Referenced by Init_zlib().

static VALUE rb_zlib_crc_table | ( | VALUE | obj | ) | `[static]`

Definition at line 391 of file zlib.c.

References rb_ary_new2(), rb_ary_push(), and rb_uint2inum().

Referenced by Init_zlib().

static VALUE rb_zlib_version | ( | VALUE | klass | ) | `[static]`

Definition at line 279 of file zlib.c.

References OBJ_TAINT, and rb_str_new2().

Referenced by Init_zlib().

static VALUE rb_zstream_adler | ( | VALUE | obj | ) | `[static]`

Definition at line 1114 of file zlib.c.

References get_zstream(), rb_uint2inum(), and zstream::stream.

Referenced by Init_zlib().

static VALUE rb_zstream_avail_in | ( | VALUE | obj | ) | `[static]`

Definition at line 1074 of file zlib.c.

References Data_Get_Struct, zstream::input, INT2FIX, NIL_P, and RSTRING_LEN.

Referenced by Init_zlib().

static VALUE rb_zstream_avail_out | ( | VALUE | obj | ) | `[static]`

Definition at line 1047 of file zlib.c.

References Data_Get_Struct, rb_uint2inum(), and zstream::stream.

Referenced by Init_zlib().

static VALUE rb_zstream_closed_p | ( | VALUE | obj | ) | `[static]`

Definition at line 1132 of file zlib.c.

References Data_Get_Struct, Qfalse, Qtrue, and ZSTREAM_IS_READY.

Referenced by Init_zlib().

static VALUE rb_zstream_data_type | ( | VALUE | obj | ) | `[static]`

Definition at line 1105 of file zlib.c.

References get_zstream(), INT2FIX, and zstream::stream.

Referenced by Init_zlib().

static VALUE rb_zstream_end | ( | VALUE | obj | ) | `[static]`

Definition at line 978 of file zlib.c.

References get_zstream(), Qnil, and zstream_end().

Referenced by Init_zlib().

static VALUE rb_zstream_finish | ( | VALUE | obj | ) | `[static]`

Definition at line 1000 of file zlib.c.

References get_zstream(), OBJ_INFECT, zstream_detach_buffer(), and zstream_run().

Referenced by Init_zlib().

static VALUE rb_zstream_finished_p | ( | VALUE | obj | ) | `[static]`

Definition at line 1123 of file zlib.c.

References get_zstream(), Qfalse, Qtrue, and ZSTREAM_IS_FINISHED.

Referenced by Init_zlib().

static VALUE rb_zstream_flush_next_in | ( | VALUE | obj | ) | `[static]`

Definition at line 1016 of file zlib.c.

References Data_Get_Struct, OBJ_INFECT, and zstream_detach_input().

Referenced by Init_zlib().

static VALUE rb_zstream_flush_next_out | ( | VALUE | obj | ) | `[static]`

Definition at line 1031 of file zlib.c.

References Data_Get_Struct, OBJ_INFECT, and zstream_detach_buffer().

Referenced by Init_zlib().

static VALUE rb_zstream_reset | ( | VALUE | obj | ) | `[static]`

Definition at line 989 of file zlib.c.

References get_zstream(), Qnil, and zstream_reset().

Referenced by Init_zlib().

static VALUE rb_zstream_set_avail_out | ( | VALUE | obj,
|  | VALUE | size
| ) |  | `[static]`

Definition at line 1061 of file zlib.c.

References Check_Type, FIX2INT, get_zstream(), size, T_FIXNUM, and zstream_expand_buffer_into().

Referenced by Init_zlib().

static VALUE rb_zstream_total_in | ( | VALUE | obj | ) | `[static]`

Definition at line 1085 of file zlib.c.

References get_zstream(), rb_uint2inum(), and zstream::stream.

Referenced by Init_zlib().

static VALUE rb_zstream_total_out | ( | VALUE | obj | ) | `[static]`

Definition at line 1094 of file zlib.c.

References get_zstream(), rb_uint2inum(), and zstream::stream.

Referenced by Init_zlib().

static void rscheck | ( | const char * | rsptr,
|  | long | rslen,
|  | VALUE | rs
| ) |  | `[static]`

Definition at line 3292 of file zlib.c.

References rb_eRuntimeError, rb_raise(), RSTRING_LEN, and RSTRING_PTR.

Referenced by gzreader_gets().

static voidpf zlib_mem_alloc | ( | voidpf | opaque,
|  | uInt | items,
|  | uInt | size
| ) |  | `[static]`

Definition at line 450 of file zlib.c.

References VALGRIND_MAKE_MEM_DEFINED, and xmalloc.

Referenced by zstream_init().

static void zlib_mem_free | ( | voidpf | opaque,
|  | voidpf | address
| ) |  | `[static]`

Definition at line 462 of file zlib.c.

References xfree().

Referenced by zstream_init().

static void zstream_append_buffer | ( | struct zstream * | z,
|  | const Bytef * | src,
|  | int | len
| ) |  | `[static]`

Definition at line 540 of file zlib.c.

References zstream::buf, zstream::buf_filled, len, NIL_P, rb_str_buf_cat(), rb_str_buf_new(), rb_str_resize(), RBASIC, RSTRING_LEN, RSTRING_PTR, and zstream::stream.

Referenced by gzfile_make_footer(), and gzfile_make_header().

static void zstream_append_input | ( | struct zstream * | z,
|  | const Bytef * | src,
|  | unsigned int | len
| ) |  | `[static]`

Definition at line 649 of file zlib.c.

References zstream::input, NIL_P, rb_str_buf_cat(), rb_str_buf_new(), and RBASIC.

Referenced by zstream_run(), and zstream_sync().

static void zstream_buffer_ungetbyte | ( | struct zstream * | z,
|  | int | c
| ) |  | `[static]`

Definition at line 633 of file zlib.c.

References zstream::buf, zstream::buf_filled, memmove(), NIL_P, RSTRING_LEN, RSTRING_PTR, zstream::stream, and zstream_expand_buffer().

Referenced by gzfile_ungetbyte().

static void zstream_buffer_ungets | ( | struct zstream * | z,
|  | const Bytef * | b,
|  | int | len
| ) |  | `[static]`

Definition at line 617 of file zlib.c.

References zstream::buf, zstream::buf_filled, len, memmove(), NIL_P, RSTRING_LEN, RSTRING_PTR, zstream::stream, and zstream_expand_buffer_into().

Referenced by gzfile_ungets().

static VALUE zstream_detach_buffer | ( | struct zstream * | z | ) | `[static]`

Definition at line 573 of file zlib.c.

References zstream::buf, zstream::buf_filled, NIL_P, Qnil, rb_cString, rb_str_new(), rb_str_resize(), RBASIC, and zstream::stream.

Referenced by deflate_run(), gzfile_read_all(), gzfile_write_raw(), gzreader_skip_linebreaks(), inflate_run(), rb_deflate_deflate(), rb_deflate_flush(), rb_inflate_inflate(), rb_zstream_finish(), rb_zstream_flush_next_out(), and zstream_shift_buffer().

static VALUE zstream_detach_input | ( | struct zstream * | z | ) | `[static]`

Definition at line 696 of file zlib.c.

References zstream::input, NIL_P, Qnil, rb_cString, rb_str_new(), and RBASIC.

Referenced by rb_zstream_flush_next_in().

static void zstream_discard_input | ( | struct zstream * | z,
|  | unsigned int | len
| ) |  | `[static]`

Definition at line 668 of file zlib.c.

References zstream::input, memmove(), NIL_P, Qnil, rb_str_resize(), RSTRING_LEN, and RSTRING_PTR.

Referenced by gzfile_check_footer(), gzfile_read_header(), and zstream_sync().

static VALUE zstream_end | ( | struct zstream * | z | ) | `[static]`

Definition at line 730 of file zlib.c.

References zstream::zstream_funcs::end, err, zstream::flags, zstream::func, Qnil, raise_zlib_error(), rb_warning(), zstream::stream, ZSTREAM_FLAG_IN_STREAM, ZSTREAM_IS_READY, zstream_reset(), and zstream_reset_input().

Referenced by gzfile_reader_end(), gzfile_writer_end(), rb_deflate_s_deflate(), rb_inflate_s_inflate(), and rb_zstream_end().

static void zstream_expand_buffer | ( | struct zstream * | z | ) | `[static]`

Definition at line 489 of file zlib.c.

References zstream::buf, zstream::buf_filled, NIL_P, rb_str_new(), rb_str_resize(), RBASIC, RSTRING_LEN, RSTRING_PTR, zstream::stream, ZSTREAM_AVAIL_OUT_STEP_MAX, ZSTREAM_AVAIL_OUT_STEP_MIN, and ZSTREAM_INITIAL_BUFSIZE.

Referenced by rb_deflate_params(), zstream_buffer_ungetbyte(), and zstream_run().

static void zstream_expand_buffer_into | ( | struct zstream * | z,
|  | unsigned int | size
| ) |  | `[static]`

Definition at line 521 of file zlib.c.

References zstream::buf, zstream::buf_filled, NIL_P, rb_str_new(), rb_str_resize(), RBASIC, RSTRING_PTR, size, and zstream::stream.

Referenced by rb_zstream_set_avail_out(), and zstream_buffer_ungets().

static void zstream_finalize | ( | struct zstream * | z | ) | `[static]`

Definition at line 864 of file zlib.c.

References zstream::zstream_funcs::end, err, finalizer_warn(), zstream::func, and zstream::stream.

Referenced by gzfile_free(), and zstream_free().

static void zstream_free | ( | struct zstream * | z | ) | `[static]`

Definition at line 874 of file zlib.c.

References xfree(), zstream_finalize(), and ZSTREAM_IS_READY.

Referenced by zstream_new().

static void zstream_init | ( | struct zstream * | z,
|  | const struct zstream_funcs * | func
| ) |  | `[static]`

Definition at line 468 of file zlib.c.

References zstream::buf, zstream::buf_filled, zstream::flags, func, zstream::func, zstream::input, Qnil, zstream::stream, zlib_mem_alloc(), and zlib_mem_free().

Referenced by gzfile_new(), and zstream_new().

static void zstream_mark | ( | struct zstream * | z | ) | `[static]`

Definition at line 857 of file zlib.c.

References zstream::buf, zstream::input, and rb_gc_mark().

Referenced by gzfile_mark(), and zstream_new().

static VALUE zstream_new | ( | VALUE | klass,
|  | const struct zstream_funcs * | funcs
| ) |  | `[static]`

Definition at line 883 of file zlib.c.

References Data_Make_Struct, zstream_free(), zstream_init(), and zstream_mark().

static void zstream_passthrough_input | ( | struct zstream * | z | ) | `[static]`

Definition at line 687 of file zlib.c.

References zstream::input, NIL_P, Qnil, and zstream_append_buffer2.

Referenced by rb_inflate_addstr(), and rb_inflate_inflate().

static void zstream_reset | ( | struct zstream * | z | ) | `[static]`

Definition at line 713 of file zlib.c.

References zstream::buf, zstream::buf_filled, err, zstream::flags, zstream::func, Qnil, raise_zlib_error(), zstream::zstream_funcs::reset, zstream::stream, ZSTREAM_FLAG_READY, and zstream_reset_input().

Referenced by gzfile_reset(), rb_zstream_reset(), and zstream_end().

static void zstream_reset_input | ( | struct zstream * | z | ) | `[static]`

Definition at line 681 of file zlib.c.

References zstream::input, and Qnil.

Referenced by zstream_end(), zstream_reset(), zstream_run(), and zstream_sync().

static void zstream_run | ( | struct zstream * | z,
|  | Bytef * | src,
|  | uInt | len,
|  | int | flush
| ) |  | `[static]`

Definition at line 753 of file zlib.c.

References zstream::buf_filled, err, zstream::flags, zstream::func, zstream::input, NIL_P, Qnil, raise_zlib_error(), RB_GC_GUARD, rb_thread_schedule(), RSTRING_LEN, RSTRING_PTR, zstream::zstream_funcs::run, zstream::stream, zstream_append_input(), zstream_expand_buffer(), ZSTREAM_FLAG_FINISHED, ZSTREAM_FLAG_IN_STREAM, and zstream_reset_input().

Referenced by deflate_run(), do_deflate(), do_inflate(), gzfile_read_header(), gzfile_read_more(), gzfile_write(), gzfile_writer_end_run(), inflate_run(), rb_deflate_flush(), rb_gzwriter_flush(), and rb_zstream_finish().

static VALUE zstream_shift_buffer | ( | struct zstream * | z,
|  | int | len
| ) |  | `[static]`

Definition at line 594 of file zlib.c.

References zstream::buf, zstream::buf_filled, len, memmove(), rb_cString, rb_str_subseq(), RBASIC, RSTRING_LEN, RSTRING_PTR, zstream::stream, ZSTREAM_AVAIL_OUT_STEP_MAX, and zstream_detach_buffer().

Referenced by gzfile_getc(), gzfile_read(), gzfile_readpartial(), and gzreader_skip_linebreaks().

static VALUE zstream_sync | ( | struct zstream * | z,
|  | Bytef * | src,
|  | uInt | len
| ) |  | `[static]`

Definition at line 818 of file zlib.c.

References err, zstream::input, len, NIL_P, Qfalse, Qtrue, raise_zlib_error(), rb_str_new(), RSTRING_LEN, RSTRING_PTR, zstream::stream, zstream_append_input(), zstream_discard_input(), and zstream_reset_input().

Referenced by rb_inflate_sync().

## Variable Documentation

VALUE cBufError

Definition at line 216 of file zlib.c.

VALUE cCRCError

Definition at line 1720 of file zlib.c.

VALUE cDataError

Definition at line 216 of file zlib.c.

VALUE cGzError`[static]`

Definition at line 1720 of file zlib.c.

VALUE cLengthError

Definition at line 1720 of file zlib.c.

VALUE cMemError

Definition at line 216 of file zlib.c.

VALUE cNeedDict

Definition at line 215 of file zlib.c.

VALUE cNoFooter

Definition at line 1720 of file zlib.c.

VALUE cStreamEnd

Definition at line 215 of file zlib.c.

VALUE cStreamError`[static]`

Definition at line 216 of file zlib.c.

VALUE cVersionError

Definition at line 216 of file zlib.c.

VALUE cZError`[static]`

Definition at line 215 of file zlib.c.

struct zstream_funcs deflate_funcs`[static]`

Initial value:

     {
        deflateReset, deflateEnd, deflate,
    }

Definition at line 440 of file zlib.c.

ID id_close

Definition at line 1719 of file zlib.c.

ID id_flush

Definition at line 1719 of file zlib.c.

Referenced by Init_IO(), and rb_io_flush().

ID id_path

Definition at line 1719 of file zlib.c.

ID id_read

Definition at line 1719 of file zlib.c.

ID id_readpartial

Definition at line 1719 of file zlib.c.

Referenced by copy_stream_fallback_body(), and Init_IO().

ID id_seek

Definition at line 1719 of file zlib.c.

ID id_write`[static]`

Definition at line 1719 of file zlib.c.

struct zstream_funcs inflate_funcs`[static]`

Initial value:

     {
        inflateReset, inflateEnd, inflate,
    }

Definition at line 444 of file zlib.c.