Minor fixes to the conversion from bytes to MultiAddress
This commit is contained in:
parent
f2d1a5aa83
commit
fcb0cce437
3 changed files with 20 additions and 8 deletions
|
@ -31,8 +31,13 @@ uint64_t ip2int(const char * ipconvertint);
|
||||||
|
|
||||||
char * int2ip(int inputintip);
|
char * int2ip(int inputintip);
|
||||||
|
|
||||||
//I didn't feel another address_bytes_to_string was necesarry sry guys
|
/**
|
||||||
int bytes_to_string(char** resultzx, const uint8_t * catx,int xbsize);
|
* Unserialize the bytes into a string
|
||||||
|
* @param results where to put the resultant string
|
||||||
|
* @param bytes the bytes to unserialize
|
||||||
|
* @param bytes_size the length of the bytes array
|
||||||
|
*/
|
||||||
|
int bytes_to_string(char** results, const uint8_t* bytes, int bytes_size);
|
||||||
|
|
||||||
char * address_string_to_bytes(struct Protocol * xx, const char * abc, size_t getsznow);
|
char * address_string_to_bytes(struct Protocol * xx, const char * abc, size_t getsznow);
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,7 @@ struct MultiAddress* multiaddress_new_from_bytes(const uint8_t* byteaddress, int
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
memcpy(out->bytes, byteaddress, size);
|
memcpy(out->bytes, byteaddress, size);
|
||||||
|
out->bsize = size;
|
||||||
if(!bytes_to_string(&out->string,byteaddress,size)==1)
|
if(!bytes_to_string(&out->string,byteaddress,size)==1)
|
||||||
{
|
{
|
||||||
multiaddress_free(out);
|
multiaddress_free(out);
|
||||||
|
|
18
protoutils.c
18
protoutils.c
|
@ -290,20 +290,26 @@ char * int2ip(int inputintip)
|
||||||
sprintf(xxx_int2ip_result, "%d.%d.%d.%d", ipint0,ipint1,ipint2,ipint3);
|
sprintf(xxx_int2ip_result, "%d.%d.%d.%d", ipint0,ipint1,ipint2,ipint3);
|
||||||
return xxx_int2ip_result;
|
return xxx_int2ip_result;
|
||||||
}
|
}
|
||||||
//I didn't feel another address_bytes_to_string was necesarry sry guys
|
|
||||||
int bytes_to_string(char** buffer, const uint8_t* catx, int xbsize)
|
/**
|
||||||
|
* Unserialize the bytes into a string
|
||||||
|
* @param results where to put the resultant string
|
||||||
|
* @param in_bytes the bytes to unserialize
|
||||||
|
* @param in_bytes_size the length of the bytes array
|
||||||
|
*/
|
||||||
|
int bytes_to_string(char** buffer, const uint8_t* in_bytes, int in_bytes_size)
|
||||||
{
|
{
|
||||||
*buffer = malloc(800);
|
*buffer = malloc(800);
|
||||||
char* resultzx = *buffer;
|
char* resultzx = *buffer;
|
||||||
bzero(resultzx, 800);
|
bzero(resultzx, 800);
|
||||||
uint8_t * bytes = NULL;
|
uint8_t * bytes = NULL;
|
||||||
int size = 0;
|
int size = 0;
|
||||||
size = xbsize;
|
size = in_bytes_size;
|
||||||
struct ProtocolListItem* head = NULL;
|
struct ProtocolListItem* head = NULL;
|
||||||
load_protocols(&head);
|
load_protocols(&head);
|
||||||
char hex[xbsize*2];
|
char hex[in_bytes_size*2];
|
||||||
bzero(hex,xbsize*2);
|
bzero(hex,in_bytes_size*2);
|
||||||
strcat(hex,Var_To_Hex(size, catx));
|
strcat(hex,Var_To_Hex(size, in_bytes));
|
||||||
//Positioning for memory jump:
|
//Positioning for memory jump:
|
||||||
int lastpos = 0;
|
int lastpos = 0;
|
||||||
char pid[3];
|
char pid[3];
|
||||||
|
|
Loading…
Reference in a new issue