Fixes the signed/unsigned char problem. Patch tested on amd64, all tests passed on all three archs:
Index: patches/patch-mimetic_codec_base64_cxx =================================================================== RCS file: patches/patch-mimetic_codec_base64_cxx diff -N patches/patch-mimetic_codec_base64_cxx --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-mimetic_codec_base64_cxx 27 May 2018 06:11:42 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: mimetic/codec/base64.cxx +--- mimetic/codec/base64.cxx.orig ++++ mimetic/codec/base64.cxx +@@ -13,7 +13,7 @@ const char Base64::sEncTable[] = + "abcdefghijklmnopqrstuvwxyz" + "0123456789+/="; + +-const char Base64::sDecTable[] = { ++const signed char Base64::sDecTable[] = { + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1, + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1, + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1, Index: patches/patch-mimetic_codec_base64_h =================================================================== RCS file: patches/patch-mimetic_codec_base64_h diff -N patches/patch-mimetic_codec_base64_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-mimetic_codec_base64_h 27 May 2018 06:11:42 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: mimetic/codec/base64.h +--- mimetic/codec/base64.h.orig ++++ mimetic/codec/base64.h +@@ -20,7 +20,7 @@ class Base64 + enum { default_maxlen = 76 }; + enum { eq_sign = 100 }; + static const char sEncTable[]; +- static const char sDecTable[]; ++ static const signed char sDecTable[]; + static const int sDecTableSz; + public: + class Encoder; class Decoder;