> The advantage of having a prefix is that it makes it easy to detect when > people don't include the proper headers such as u_string.h, and it > guarantees one can wrap around even buggy OS implementations without > doing #define magic. It also allows to easily add wrapping.
It is indeed possibly advantageous if the platform provides a broken implementation, but as you point out #define magic can solve this, and I expect/hope this to be a rare exception. A price for this is however paid by everyone all over the codebase, while the #define magic (or any other magic) would be localized. The best approach would probably be to decide this on a case-by-case basis, and in some cases I'd argue that the current state is obviously not the right choice: 1. INLINE is very frequently used, and defining "inline" instead is actually simpler, and is less confusing for source analysis/highlighting tools. 2. "memcmp" is currently OK, but one is supposed to use "util_strcmp" instead of "strcmp", which looks quite hard to remember and get right BTW, MSDN documents strcmp to be available at least in user mode and u_string.h provides his own implementation anyway. Did Microsoft actually manage to somehow provide a broken strcmp? If not, then the system implementation is likely to be much faster due to target-specific optimizations. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev