Move hex_str to binascii.c

This commit is contained in:
Nick Mathewson 2018-06-27 16:21:55 -04:00
parent 194a34cdc2
commit 0a9d8dcf2b
4 changed files with 17 additions and 17 deletions

View File

@ -225,21 +225,6 @@ add_laplace_noise(int64_t signal_, double random_, double delta_f,
* String manipulation
* ===== */
/** Return a pointer to a NUL-terminated hexadecimal string encoding
* the first <b>fromlen</b> bytes of <b>from</b>. (fromlen must be \<= 32.) The
* result does not need to be deallocated, but repeated calls to
* hex_str will trash old results.
*/
const char *
hex_str(const char *from, size_t fromlen)
{
static char buf[65];
if (fromlen>(sizeof(buf)-1)/2)
fromlen = (sizeof(buf)-1)/2;
base16_encode(buf,sizeof(buf),from,fromlen);
return buf;
}
/** Return true if <b>string</b> is a valid 'key=[value]' string.
* "value" is optional, to indicate the empty string. Log at logging
* <b>severity</b> if something ugly happens. */

View File

@ -71,8 +71,6 @@ int64_t clamp_double_to_int64(double number);
/* String manipulation */
const char *hex_str(const char *from, size_t fromlen) ATTR_NONNULL((1));
int string_is_key_value(int severity, const char *string);
char *tor_escape_str_for_pt_args(const char *string,

View File

@ -25,6 +25,21 @@
#include <string.h>
#include <stdlib.h>
/** Return a pointer to a NUL-terminated hexadecimal string encoding
* the first <b>fromlen</b> bytes of <b>from</b>. (fromlen must be \<= 32.) The
* result does not need to be deallocated, but repeated calls to
* hex_str will trash old results.
*/
const char *
hex_str(const char *from, size_t fromlen)
{
static char buf[65];
if (fromlen>(sizeof(buf)-1)/2)
fromlen = (sizeof(buf)-1)/2;
base16_encode(buf,sizeof(buf),from,fromlen);
return buf;
}
/* Return the base32 encoded size in bytes using the source length srclen.
*
* (WATCH OUT: This API counts the terminating NUL byte, but

View File

@ -12,6 +12,8 @@
#include "lib/testsupport/testsupport.h"
#include "lib/cc/torint.h"
const char *hex_str(const char *from, size_t fromlen);
/** @{ */
/** These macros don't check for overflow. Use them only for constant inputs
* (like array declarations). The *_LEN macros are the raw encoding lengths