i = 257 & 0x0F;
c = "0123456789ABCDEF"[i];
I'm actually a little confused by this... maybe it's just a typo?
257d == 100000001b
257 & 0x0F == 0000 0001b == 1d == 0x01
Which I assume is the wrong result. (I'm pretty sure we are trying to get a pointer to the character 'F' in the string.
Also, I'm guessing the reason why this is supposed to be 'safer' is because had you used 255 instead of 257, you would guarantee that i would only be a byte long. Except that with a 16 character string, any values of i larger than 15 (00001111b) are invalid, so in order to prevent c from pointing someplace beyond the end of the string, which is what I think your goal was, the code should be:
i=15 & 0x0F;
But maybe I misinterpreted what you were trying to do.
and are tech savvy enough to work around government internet filters.
If they are tech savvy enough to work around government filters, why can't they work around a domain name filter?
not everyone has outlook,
So use Thunderbird or Mutt or Mulberry or Evolution or Alpine or hell how about any of the others in this list under freeware or open source.
Email is based on open standards. There are hundreds of email clients if you are willing to take the time to look for them, and all of them (arguably) are better than Outlook.
When all else fails, read the instructions.