> 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