Comment by emilfihlman
9 months ago
Can't edit anymore but a better (only slightly) and clearer version is
  u32 length = (code <= 0x7F) + (code <= 0x07FF) + (code <= 0xFFFF);
  u32 limit = (code <= 0x10FFFF);
  u32 allowed = ((code < 0xD800) || 
  (0xDFFF < code));
  u32 valid = (limit && allowed);
  return(-1 * !valid + valid * (4 - length));
No comments yet
Contribute on Hacker News ↗