mbfl_identify_filter *mbfl_identify_filter_new2(const mbfl_encoding *encoding) { mbfl_identify_filter *filter; /* allocate */ filter = (mbfl_identify_filter *)mbfl_malloc(sizeof(mbfl_identify_filter)); if (filter == NULL) { return NULL; } if (mbfl_identify_filter_init2(filter, encoding)) { mbfl_free(filter); return NULL; } return filter; }
mbfl_identify_filter *mbfl_identify_filter_new(enum mbfl_no_encoding encoding) { mbfl_identify_filter *filter; /* allocate */ filter = (mbfl_identify_filter *)mbfl_malloc(sizeof(mbfl_identify_filter)); if (filter == NULL) { return NULL; } if (mbfl_identify_filter_init(filter, encoding)) { mbfl_free(filter); return NULL; } return filter; }
/* * memory device output functions */ void mbfl_memory_device_init(mbfl_memory_device *device, int initsz, int allocsz) { if (device) { device->length = 0; device->buffer = (unsigned char *)0; if (initsz > 0) { device->buffer = (unsigned char *)mbfl_malloc(initsz*sizeof(unsigned char)); if (device->buffer != NULL) { device->length = initsz; } } device->pos= 0; if (allocsz > MBFL_MEMORY_DEVICE_ALLOC_SIZE) { device->allocsz = allocsz; } else { device->allocsz = MBFL_MEMORY_DEVICE_ALLOC_SIZE; } } }
void mbfl_filt_conv_html_dec_ctor(mbfl_convert_filter *filter) { filter->status = 0; filter->opaque = mbfl_malloc(html_enc_buffer_size+1); }
void mbfl_filt_conv_html_dec_copy(mbfl_convert_filter *src, mbfl_convert_filter *dest) { *dest = *src; dest->opaque = mbfl_malloc(html_enc_buffer_size+1); memcpy(dest->opaque, src->opaque, html_enc_buffer_size+1); }