43 lines
1.2 KiB
Diff
43 lines
1.2 KiB
Diff
|
From: Matthew Ogilvie <mmogilvi+fml@zoho.com>
|
||
|
Date: Fri, 21 Dec 2018 09:00:46 -0700
|
||
|
Subject: add query_to64_outsize() utility function
|
||
|
Git-repo: https://gitlab.com/fetchmail/fetchmail.git
|
||
|
Git-commit: cc6e146d516140df800da68976eb7c0aa1cef7c0
|
||
|
|
||
|
---
|
||
|
base64.c | 7 +++++++
|
||
|
fetchmail.h | 1 +
|
||
|
2 files changed, 8 insertions(+)
|
||
|
|
||
|
diff --git a/base64.c b/base64.c
|
||
|
index 3cd41691..25393b35 100644
|
||
|
--- a/base64.c
|
||
|
+++ b/base64.c
|
||
|
@@ -61,6 +61,13 @@ fail:
|
||
|
return rc;
|
||
|
}
|
||
|
|
||
|
+size_t query_to64_outsize(size_t inlen)
|
||
|
+/* Returns how much space needs to be allocated to receive the output from
|
||
|
+ * to64frombits(), including the '\0' terminator. */
|
||
|
+{
|
||
|
+ return ((inlen+2)/3)*4+1;
|
||
|
+}
|
||
|
+
|
||
|
int from64tobits(void *out_, const char *in, int maxlen)
|
||
|
/* base 64 to raw bytes in quasi-big-endian order, returning count of bytes */
|
||
|
/* maxlen limits output buffer size, set to zero to ignore */
|
||
|
diff --git a/fetchmail.h b/fetchmail.h
|
||
|
index 8b9dd6c4..2d378942 100644
|
||
|
--- a/fetchmail.h
|
||
|
+++ b/fetchmail.h
|
||
|
@@ -638,6 +638,7 @@ int prc_filecheck(const char *, const flag);
|
||
|
|
||
|
/* base64.c */
|
||
|
int to64frombits(char *, const void *, int inlen, size_t outlen);
|
||
|
+size_t query_to64_outsize(size_t inlen);
|
||
|
int from64tobits(void *, const char *, int mxoutlen);
|
||
|
|
||
|
/* unmime.c */
|
||
|
|