summary refs log tree commit diff
path: root/pls.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pls.c60
1 files changed, 0 insertions, 60 deletions
diff --git a/pls.c b/pls.c
index 4e032c8..d91fc97 100644
--- a/pls.c
+++ b/pls.c
@@ -131,63 +131,3 @@ int aswprintf(wchar_t **ret, const wchar_t *format, ...) {
 	va_end(ap);
 	return n;
 }
-
-static const char Base64[64] =
-	"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
-char *base64(const byte *src, size_t len) {
-	char *dst = malloc(1 + 4 * (len + 2) / 3);
-	if (!dst) return NULL;
-	size_t i = 0;
-	while (len > 2) {
-		dst[i++] = Base64[0x3F & (src[0] >> 2)];
-		dst[i++] = Base64[0x3F & (src[0] << 4 | src[1] >> 4)];
-		dst[i++] = Base64[0x3F & (src[1] << 2 | src[2] >> 6)];
-		dst[i++] = Base64[0x3F & src[2]];
-		src += 3;
-		len -= 3;
-	}
-	if (len) {
-		dst[i++] = Base64[0x3F & (src[0] >> 2)];
-		if (len > 1) {
-			dst[i++] = Base64[0x3F & (src[0] << 4 | src[1] >> 4)];
-			dst[i++] = Base64[0x3F & (src[1] << 2)];
-		} else {
-			dst[i++] = Base64[0x3F & (src[0] << 4)];
-			dst[i++] = '=';
-		}
-		dst[i++] = '=';
-	}
-	dst[i] = '\0';
-	return dst;
-}
-
-#ifdef TEST
-#include <assert.h>
-#include <string.h>
-
-int main() {
-	char *cat = base64((byte *)"cat", 3);
-	char *ca = base64((byte *)"ca", 2);
-	char *c = base64((byte *)"c", 1);
-	assert(cat);
-	assert(ca);
-	assert(c);
-	assert(!strcmp("Y2F0", cat));
-	assert(!strcmp("Y2E=", ca));
-	assert(!strcmp("Yw==", c));
-	free(cat);
-	free(ca);
-	free(c);
-
-	char *fzf = base64((byte []) { 0xFF, 0x00, 0xFF }, 3);
-	char *zfz = base64((byte []) { 0x00, 0xFF, 0x00 }, 3);
-	assert(fzf);
-	assert(zfz);
-	assert(!strcmp("/wD/", fzf));
-	assert(!strcmp("AP8A", zfz));
-	free(fzf);
-	free(zfz);
-}
-
-#endif
nce/commit/pounce.1?h=2.2&id=b76b458ef8ea0be0da20e9d92c3923657bc816da&follow=1'>Document configuration and data file searchJune McEnroe 2020-08-24Use dataOpen for save fileJune McEnroe 2020-08-24Use configOpen to load localCAJune McEnroe 2020-08-24Use configPath to load client cert/privJune McEnroe 2020-08-24Use configOpen in getopt_configJune McEnroe 2020-08-24Import xdg.c from catgirlJune McEnroe 2020-08-23Replace “RAND_bytes” by “getentropy”Issam E. Maghni 2020-08-16contrib/palaver: Add no message preview flagsJune McEnroe 2020-08-13contrib/palaver: Don't set channel for PMsJune McEnroe 2020-08-13Fix unintended interception of NICK after registrationJune McEnroe 2020-08-12Add Additional Components section to READMEJune McEnroe 2020-08-12Document -L / palaver optionJune McEnroe 2020-08-11contrib/palaver: Document service configurationJune McEnroe 2020-08-11contrib/palaver: Add install target and rc scriptJune McEnroe 2020-08-11contrib/palaver: Implement command and notificationsJune McEnroe