Фильтровать данные по pr_write после подключения
У меня проблемы с фильтрацией данных, которые передаются в PR_Write. Это функция Mozilla, которая используется для передачи всех видов данных, отправляемых на сервер. Мне удалось подключить его с помощью DLL(чрезвычайно простой), используя код из Википедии о подключении.
Ниже приведено объявление функции PR_Write, на которую ссылается веб-сайт Mozilla.
PRInt32 PR_Write(PRFileDesc *fd, const void *buf, PRInt32 amount);
Второй параметр buf
это то, что я записываю, приведя его к const char*
это работает нормально, но я не знаю, как я могу отфильтровать данные, так как он регистрирует все от начала до конца.
Код ниже - это то, что я пробовал, но это слишком тяжелый цикл и вылетает Mozilla.
char *p=(char*)buf; // get pointer to beginning of the buffer
while (*p!='\00')
{
// do some data filtering
*p++;
}
Идея была взята из книги Grayhat Python, чтобы перебирать буфер и фильтровать данные по мере необходимости, но цикл слишком велик, поскольку буфер всегда очень большой.
В целом, мне нужен способ фильтрации данных, которые передаются во второй параметр.
Спасибо за любые предложения заранее:)