mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-25 14:04:25 +00:00
Provide a lower level __bin2hex function that does not allocate memory itself.
This commit is contained in:
parent
835ad82441
commit
d3c215fda6
1
miner.h
1
miner.h
@ -952,6 +952,7 @@ extern json_t *json_rpc_call(CURL *curl, const char *url, const char *userpass,
|
|||||||
#endif
|
#endif
|
||||||
extern const char *proxytype(proxytypes_t proxytype);
|
extern const char *proxytype(proxytypes_t proxytype);
|
||||||
extern char *get_proxy(char *url, struct pool *pool);
|
extern char *get_proxy(char *url, struct pool *pool);
|
||||||
|
extern void __bin2hex(char *s, const unsigned char *p, size_t len);
|
||||||
extern char *bin2hex(const unsigned char *p, size_t len);
|
extern char *bin2hex(const unsigned char *p, size_t len);
|
||||||
extern bool hex2bin(unsigned char *p, const char *hexstr, size_t len);
|
extern bool hex2bin(unsigned char *p, const char *hexstr, size_t len);
|
||||||
|
|
||||||
|
14
util.c
14
util.c
@ -584,6 +584,16 @@ char *get_proxy(char *url, struct pool *pool)
|
|||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Adequate size s==len*2 + 1 must be alloced to use this variant */
|
||||||
|
void __bin2hex(char *s, const unsigned char *p, size_t len)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < (int)len; i++)
|
||||||
|
sprintf(s + (i * 2), "%02x", (unsigned int)p[i]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/* Returns a malloced array string of a binary value of arbitrary length. The
|
/* Returns a malloced array string of a binary value of arbitrary length. The
|
||||||
* array is rounded up to a 4 byte size to appease architectures that need
|
* array is rounded up to a 4 byte size to appease architectures that need
|
||||||
* aligned array sizes */
|
* aligned array sizes */
|
||||||
@ -591,7 +601,6 @@ char *bin2hex(const unsigned char *p, size_t len)
|
|||||||
{
|
{
|
||||||
ssize_t slen;
|
ssize_t slen;
|
||||||
char *s;
|
char *s;
|
||||||
int i;
|
|
||||||
|
|
||||||
slen = len * 2 + 1;
|
slen = len * 2 + 1;
|
||||||
if (slen % 4)
|
if (slen % 4)
|
||||||
@ -600,8 +609,7 @@ char *bin2hex(const unsigned char *p, size_t len)
|
|||||||
if (unlikely(!s))
|
if (unlikely(!s))
|
||||||
quithere(1, "Failed to calloc");
|
quithere(1, "Failed to calloc");
|
||||||
|
|
||||||
for (i = 0; i < (int)len; i++)
|
__bin2hex(s, p, len);
|
||||||
sprintf(s + (i * 2), "%02x", (unsigned int)p[i]);
|
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user