История изменений
Исправление hateyoufeel, (текущая версия) :
на реальных задачах сейчас есть evas+e библиотеки
Ахахахахахах! Охохохохохох! Хахахахахах!
https://what.thedailywtf.com/t/enlightened/8795
Our beloved EFL main developer, whose name I dare not say or I go on a rampage, complained he had tons of bug reports about crashes etc. Something about passing wrong Evas_Objects to wrong functions. He decided to tackle the problem in the next version. I’ll let you guess which solution he choose:
1. Incorporate type safety.
2. Give some meaningful names for all typedefs, if type safety is too hard, so people would at least see what goes where.
3. Don’t use pointers as pointers. Split the bits in them into 3 (or 4) groups, which would be cast to a numerical indexes into 3- (or 4-) dimensional hash map, which in turn results in a real pointer to function + object, and call it, if such exist. If not, don’t do anything and don’t give the programmer any feedback. Oh, and implement this in a way that makes the absolute maximum objects your process can have equal to 512. But don’t forget to not warn anyone when the limit gets exceed, but call given function on a random object which causes hash collision.
Small hint: it’s not 1 or 2. Welcome to the 21st century programming!
Исходная версия hateyoufeel, :
на реальных задачах сейчас есть evas+e библиотеки
Ахахахахахах! Охохохохохох! Хахахахахах!
https://what.thedailywtf.com/t/enlightened/8795
Our beloved EFL main developer, whose name I dare not say or I go on a rampage, complained he had tons of bug reports about crashes etc. Something about passing wrong Evas_Objects to wrong functions. He decided to tackle the problem in the next version. I’ll let you guess which solution he choose:
Incorporate type safety. Give some meaningful names for all typedefs, if type safety is too hard, so people would at least see what goes where. Don’t use pointers as pointers. Split the bits in them into 3 (or 4) groups, which would be cast to a numerical indexes into 3- (or 4-) dimensional hash map, which in turn results in a real pointer to function + object, and call it, if such exist. If not, don’t do anything and don’t give the programmer any feedback. Oh, and implement this in a way that makes the absolute maximum objects your process can have equal to 512. But don’t forget to not warn anyone when the limit gets exceed, but call given function on a random object which causes hash collision.
Small hint: it’s not 1 or 2. Welcome to the 21st century programming!