> To the best of my knowledge this:
> int b[2] = {0xf0, 0x0f};
> int i=0;
> int t = b[i++] | b[i++];
>
> Will evaluate to t=0xf0 and i=2.
The result is undefined:
1. Stroustrup:
http://www.research.att.com/~bs/bs_faq2.html#evaluation-order
2. C FAQ section 3.2:
http://www.faqs.org/faqs/C-faq/faq/
The same problem is with this line of code:
t = ((m_inputBuffer[i++] << 4) & 0x30) | (m_inputBuffer[i] >> 4);
Many people downloaded XSEC C++ library and used it, but haven't ever
run into problems with Base64 encoding. I had problems with Base64
encoding when I started to play with static linking. Then, my VC6
started to behave (to compile the code) differently then before.
Best regards,
Milan