Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
matrix-org
Olm
Commits
900d2d70
Commit
900d2d70
authored
Aug 19, 2015
by
Mark Haines
Browse files
Add docstring for the base64 encode/decode methods
parent
159faa1e
Changes
1
Show whitespace changes
Inline
Side-by-side
include/olm/base64.hh
View file @
900d2d70
...
@@ -20,31 +20,45 @@
...
@@ -20,31 +20,45 @@
namespace
olm
{
namespace
olm
{
/**
* The number of bytes of unpadded base64 needed to encode a length of input.
*/
static
std
::
size_t
encode_base64_length
(
static
std
::
size_t
encode_base64_length
(
std
::
size_t
input_length
std
::
size_t
input_length
)
{
)
{
return
4
*
((
input_length
+
2
)
/
3
)
+
(
input_length
+
2
)
%
3
-
2
;
return
4
*
((
input_length
+
2
)
/
3
)
+
(
input_length
+
2
)
%
3
-
2
;
}
}
/**
* Encode the raw input as unpadded base64.
* Writes encode_base64_length(input_length) bytes to the output buffer.
* The input can overlap with the last three quarters of the output buffer.
* That is, the input pointer may be output + output_length - input_length.
*/
std
::
uint8_t
*
encode_base64
(
std
::
uint8_t
*
encode_base64
(
std
::
uint8_t
const
*
input
,
std
::
size_t
input_length
,
std
::
uint8_t
const
*
input
,
std
::
size_t
input_length
,
std
::
uint8_t
*
output
std
::
uint8_t
*
output
);
);
/**
* The number of bytes of raw data a length of unpadded base64 will encode to.
* Returns std::size_t(-1) if the length is not a valid length for base64.
*/
std
::
size_t
decode_base64_length
(
std
::
size_t
decode_base64_length
(
std
::
size_t
input_length
std
::
size_t
input_length
);
);
/**
* Decodes the unpadded base64 input to raw bytes.
* Writes decode_base64_length(input_length) bytes to the output buffer.
* The output can overlap with the first three quarters of the input buffer.
* That is, the input pointers and output pointer may be the same.
*/
std
::
uint8_t
const
*
decode_base64
(
std
::
uint8_t
const
*
decode_base64
(
std
::
uint8_t
const
*
input
,
std
::
size_t
input_length
,
std
::
uint8_t
const
*
input
,
std
::
size_t
input_length
,
std
::
uint8_t
*
output
std
::
uint8_t
*
output
);
);
}
// namespace olm
}
// namespace olm
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment