Hi Vicențiu Thanks Vicențiu for your comment. Although I agree with you but defining #define HA_HASH_STR_LEN 4 or const int HA_HASH_STR_LEN = 4; make it independent of length of "hash". Although we rarely gone change "hash", so I think it is a good idea. What do you think , Sergei? Regards sachin On Fri, Aug 26, 2016 at 7:26 PM, Vicențiu Ciorbaru <vicentiu@mariadb.org> wrote:
Hi Sachin, Sergei!
One quick thing I wanted to point out. I did not specifically look at how things get called, but, when defining constants, I don't agree with:
+#define HA_HASH_STR_LEN strlen(HA_HASH_STR)
Or:
+#define HA_HASH_STR_INDEX_LEN strlen(HA_HASH_STR_INDEX)
This hides an underlying strlen. Better make it a real constant value. Perhaps the compiler is smart enough to optimize it away, but why risk it?
Another one is why not define them as const char * and const int? This also helps during debugging, as you can do:
(gdb) $ print HA_HAST_STR_INDEX_LEN
I know that a lot of the code makes use of defines with #define, but why not enforce a bit of type safety while we're at it?
Just my 2 cents, feel free to disagree. :) Vicentiu