memcpy = memmove или memcpy ≠ memmove

memcpy = memmove
0
Нейтральная
сторона
0
memcpy ≠ memmove
2
Линус Торвальдс прав: давно пора их объединить
Прежде чем писать комментарии или выбрать сторону вы должны авторизироваться!
Разработчики Fedora правы: не стоит потакать говнокодерам из Adobe

27-03-2013 17:57 0

Можно было решить проблему проще: дизассембилируем флэш, ищем все вызовы memcpy, меняем их на memmove, ассембилируем. Хотя в некоторых странах (e.g. США) лицензия на флеш может делать допилку незаконной...
Fix: летим в ЕС, патчим, летим в США.

Такое изменение может запутать новых разработчиков и создать проблемы тем, кто каким-то образом использует memcpy с назначением внутри области "источник, источник+размер" для какого-то demoscene-like мозговзрывающего алгоритма, оптимизации. Хотя я не могу придумать пример сходу...
Недокументированное неожиданное поведение есть баг по определению => вероятность возникновения проблемы в будущем не равна нулю.

А алиас так и остался бы дерьмом слона, которое не имеет определенной функции - но которое нельзя убрать из-за того что все его используют. При интенсивном применении такого непедантичного метода, в коде успеет накопится незначительных костылей, о которых все забыли, но которые нужны...
Верным подходом при излишности memcpy было бы просто удалить его в следующей мажорной версии, никак не пилить такой костыль, способный пережить всех холиварщиков.

Вангую: Линус пользуется браузером на вебките.


Довольно долго думал прежде чем постить, и до сих пор не уверен в своей педантичности и соблюдении правил, возможно, эти проблемы слишком незначительны и не противоречат здравому смыслу вопреки противоречию правилам...

Вдогонку вопрос: что за условия, при которых memcpy меняет поведение на некоторых процессорах?

0 комментариев
27-03-2013 19:33 -1

The existence of code written by people who should never have been allowed to touch a keyboard cannot be allowed to prevent a correct implementation

0 комментариев