14 #if defined(_MSC_VER) && !defined(inline)
15 #define inline __inline
55 for (i = 0; i < length; i++) {
56 self->window[(windowoffs + i) &
lzss_mask(
self)] =
self->window[(windowoffs + i - offset) &
lzss_mask(
self)];
58 self->position += length;
63 int firstpart =
lzss_size(
self) - windowoffs;
64 if (length <= firstpart) {
66 memcpy(buffer, &self->window[windowoffs], length);
70 memcpy(buffer, &self->window[windowoffs], firstpart);
71 memcpy(buffer + firstpart, &self->window[0], length - firstpart);
76 self->window = malloc(windowsize);
80 self->mask = windowsize - 1;