void *zlib_stream(void *data, int s, int *osize) { t_size_pair **seg; char *kek[3]; int os; os = 0; seg = make_arr(data, s, 0xffff); ft_memset(kek, 0, sizeof(kek)); kek[2] = (void*)seg; while (*seg) { process_segment(seg, kek, &os); ++seg; } free(kek[2]); *osize = 2 + os + 4; kek[2] = malloc(*osize); ft_memcpy(kek[2], "\x78\x01", 2); ft_memcpy(&kek[2][2], kek[0], os); free(kek[0]); *(unsigned*)&kek[2][2 + os] = bswap_32(adler32(data, s)); return (kek[2]); }
NPP_ENSURE_INLINE inline std::array<index_t,2> iarr(index_t i1, index_t i2) { return make_arr(i1, i2); }
NPP_ENSURE_INLINE inline std::array<index_t,4> iarr(index_t i1, index_t i2, index_t i3, index_t i4) { return make_arr(i1, i2, i3, i4); }
NPP_ENSURE_INLINE inline std::array<index_t,1> iarr(index_t i1) { return make_arr(i1); }