>>974
#include <stdio.h>
#include <string.h>
#include <sys/types.h>

void pattcpy(void* dst, void* src, u_int byte_size, u_int src_len,
u_int* pattern, u_int pattern_len)
{
u_int src_index = 0;
u_int pattern_index = 0;

while (src_index < src_len) {
if (pattern[pattern_index] != 0) {
memcpy(dst, src, byte_size);
dst += byte_size;
}

pattern_index++;
if (pattern_index >= pattern_len)
pattern_index = 0;

src += byte_size;
src_index++;
}
}