mirror of
https://github.com/samba-team/samba.git
synced 2025-02-22 05:57:43 +03:00
lib: added base64_decode_data_blob_talloc()
its nice to be able to allocate on other than NULL Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
1e9573fe4d
commit
6e25723c82
@ -29,10 +29,10 @@ static const char b64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0
|
||||
/**
|
||||
* Decode a base64 string into a DATA_BLOB - simple and slow algorithm
|
||||
**/
|
||||
_PUBLIC_ DATA_BLOB base64_decode_data_blob(const char *s)
|
||||
_PUBLIC_ DATA_BLOB base64_decode_data_blob_talloc(TALLOC_CTX *mem_ctx, const char *s)
|
||||
{
|
||||
int bit_offset, byte_offset, idx, i, n;
|
||||
DATA_BLOB decoded = data_blob(s, strlen(s)+1);
|
||||
DATA_BLOB decoded = data_blob_talloc(mem_ctx, s, strlen(s)+1);
|
||||
unsigned char *d = decoded.data;
|
||||
char *p;
|
||||
|
||||
@ -61,9 +61,18 @@ _PUBLIC_ DATA_BLOB base64_decode_data_blob(const char *s)
|
||||
|
||||
/* fix up length */
|
||||
decoded.length = n;
|
||||
decoded.data = talloc_realloc(mem_ctx, decoded.data, uint8_t, n);
|
||||
return decoded;
|
||||
}
|
||||
|
||||
/**
|
||||
* Decode a base64 string into a DATA_BLOB - simple and slow algorithm
|
||||
**/
|
||||
_PUBLIC_ DATA_BLOB base64_decode_data_blob(const char *s)
|
||||
{
|
||||
return base64_decode_data_blob_talloc(NULL, s);
|
||||
}
|
||||
|
||||
/**
|
||||
* Decode a base64 string in-place - wrapper for the above
|
||||
**/
|
||||
|
@ -412,7 +412,15 @@ _PUBLIC_ void string_replace(char *s, char oldc, char newc);
|
||||
/**
|
||||
Base64 decode a string, place into a data blob. Caller to data_blob_free() the result.
|
||||
**/
|
||||
_PUBLIC_ DATA_BLOB base64_decode_data_blob_talloc(TALLOC_CTX *mem_ctx, const char *s);
|
||||
|
||||
/**
|
||||
Base64 decode a string, place into a data blob on NULL context.
|
||||
Caller to data_blob_free() the result.
|
||||
**/
|
||||
_PUBLIC_ DATA_BLOB base64_decode_data_blob(const char *s);
|
||||
|
||||
|
||||
/**
|
||||
Base64 decode a string, inplace
|
||||
**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user