whitfin / siphash-c

A C (89) implementation of the SipHash cryptographic hash family, using a single pass algorithm
MIT License
3 stars 4 forks source link

uint64_t and c89? #2

Closed hartwork closed 7 years ago

hartwork commented 7 years ago

Hi!

I came here looking for a C89 implementation of SipHash and found description "A C89 implementation" here. I see it use type uint64_t. Doesn't that make it non-C89? Am I missing something?

They way I read http://pubs.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html, uint*_t types are marked [CX] for "Extension to the ISO C standard".

Thanks, Sebastian

whitfin commented 7 years ago

Aloha!

I'm not entirely sure if I'm completely honest. I was writing this for what I was informed was a C89 environment, and it worked just fine - maybe there were some modifications made?

Would you suggest replacing uint64_t? I'm open to it if it would improve compatibility!

Thank you!

hartwork commented 7 years ago

Hi!

After having tried resolving uint64_t for the implementation of SipHash that I went with for libexpat, I cannot really recommend replacing uint64_t any more, at least not using that very approach. I let GCC and wishful thinking fool me to believe that -std=c89 and uint64_t would go well together, but soon I was proven wrong. By now I assume SipHash and c89 out of reach. If you get to true c89 here, that would be unique, I guess.