Guest User

Untitled

a guest
Apr 23rd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. auto t = _decodeTable.ptr;
  2. char[] nonPadded = data[0..(length - paddedPos)];
  3. for (auto p=nonPadded.ptr, e=p+nonPadded.length; p < e; ++p)
  4. {
  5. uint next = t[*p];
  6. if (next || *p is 'A')
  7. {
  8. *quadPtr++ = cast(ubyte) next;
  9. if (quadPtr is endPtr) // got a full quad of data!
  10. {
  11. rtnPt[0] = cast(ubyte) ((base64Quad[0] << 2) | (base64Quad[1] >> 4));
  12. rtnPt[1] = cast(ubyte) ((base64Quad[1] << 4) | (base64Quad[2] >> 2));
  13. rtnPt[2] = cast(ubyte) ((base64Quad[2] << 6) | base64Quad[3]);
  14. encodedLength += 3;
  15. quadPtr = base64Quad.ptr;
  16. rtnPt += 3;
  17. }
  18. }
  19. }
Add Comment
Please, Sign In to add comment