Nov. 6th, 2011

madf: (Default)
Як і обіцяв, код:
Read more... )
Наведений раніше семпл містить помилку. Справа в тому що у рядку із chunk length можна крім довжини chunk вказати різні параметри після крапки з комою - так звані "chunk extensions" у вигляді key=value, розділені крапкою з комою. Якщо chunk extensions не використовуються - крапка з комою не ставляться. За стандартом ці extensions можна сміливо ігнорувати. Парсер довжини chunk наведений у семплі використовує квантор "+" для "зайвих" символів, а треба використовувати квантор "*". Ну і там ще у тому ж парсері проблеми з визначенням довжини рядка з chunk length.
Тепер щодо buffer overflow. Якщо при використанні read_until розміру буферу не вистачить для пошуку то функція завершиться з помилкою "Element not found". Наведений вище код коректно веде себе в умовах коли chunk body не влазить у бувер - оброблює його "по шматкам". Якщо ж у буфер не влазить рядок з chunk length то він завершується з помилкою "Element not found". Перевіряв це змінюючи max_size для streambuf.
madf: (Default)
Хліб зараз черствіє просто моментально. Годин п’ять пройшло - і вже черствий. Те саме і зі здобою. Раніше у нас вдома була спеціальна штука на якій можна було розпарювати черстві булочки. Це підставка що ставилась у каструлю і утримувала пиріжок чи булочку над поверхнею води. Пару хвилин кипіння - і булочка як свіжа.
Зараз за вікном двадцять перше сторіччя, і такі архаїчні способи відійшли у минуле. Беремо шматок хліба, булочку чи пиріжок і кладемо на хвилину у мікрохвильову піч. Готово!
PS: фізику цього процесу я пояснити не можу.
PPS: обожнюю пиріжки із вишнями!
madf: (Default)
Зима ще не настала а в квартирі вже колотун. Ноги мерзнуть руки мерзнуть, ніс холодний (і сухий :). Чай встигає захолонути доки до рота підносиш.
І це ще тільки ε-окіл нуля...

Profile

madf: (Default)
madf

April 2018

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 21st, 2025 10:39 pm
Powered by Dreamwidth Studios