![](https://secure.gravatar.com/avatar/06b8a7f236cf59aa9a83cab1a0551ca8.jpg?s=120&d=mm&r=g)
Hi!
"Jakob" == Jakob Lorberblatt
writes:
Jakob> I believe the the debate ongoing below can be laid to rest at *MOST* Jakob> platforms size_t will work correctly, I have found few exceptions, such as Jakob> GCC prior to 2.4 size_t is defined as a signed integer, in sys/types.h to Jakob> match the definitions located in this file for other nix related Jakob> platforms, and stddef.h just includes this definition; this is a very old Jakob> version of GCC and I believe (correct me if I am wrong) it would not Jakob> compile MariaDB's source code anyway, not positive though haven't tried Jakob> it. I have compiled and used MySQL with very old versions of gcc and with systems where size_t is signed. I don't think it would be hard to get the current code to work on these systems. The issue I have mainly with size_t for enum is that in some people's mind it's not guaranteed to be unsigned and because of that it's not a perfect choice. Personally I prefer to use 'uint, ulong, ulonglong' or even uint32 and uint32 instead of size_t for some objects. For strings and objects sizes in memory I think that size_t is ok. Regards, Monty