234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
|
# File 'ext/extzstd_stream.c', line 234
static VALUE
enc_close(VALUE self)
{
/*
* ZSTDLIB_API size_t ZSTD_endStream(ZSTD_CStream* zcs, ZSTD_outBuffer* output);
*/
struct encoder *p = encoder_context(self);
aux_str_buf_recycle(&p->destbuf, ZSTD_CStreamOutSize());
rb_str_set_len(p->destbuf, 0);
rb_obj_infect(p->destbuf, self);
ZSTD_outBuffer output = { RSTRING_PTR(p->destbuf), rb_str_capacity(p->destbuf), 0 };
size_t s = ZSTD_endStream(p->context, &output);
extzstd_check_error(s);
rb_str_set_len(p->destbuf, output.pos);
AUX_FUNCALL(p->outport, id_op_lsh, p->destbuf);
p->reached_eof = 1;
return Qnil;
}
|