diff --git a/experiments/advertisetest.c b/experiments/advertisetest.c index f373537..28bde9d 100644 --- a/experiments/advertisetest.c +++ b/experiments/advertisetest.c @@ -18,16 +18,16 @@ unsigned int *uuid_str_to_data(char *uuid) { - char conv[] = "0123456789ABCDEF"; - int len = strlen(uuid); - unsigned int *data = (unsigned int*)malloc(sizeof(unsigned int) * len); - unsigned int *dp = data; - char *cu = uuid; + unsigned int *data = (unsigned int*)malloc(sizeof(unsigned int) * (strlen(uuid)/2)); + int c = 0; - for(; cu='A' && uuid[c]<='F')?(uuid[c]-'A'+10)*16:(uuid[c]-'0')*16; + data[i]+=(uuid[c+1]>='A' && uuid[c+1]<='F')?(uuid[c+1]-'A'+10):uuid[c+1]-'0'; + c+=2; } return data; diff --git a/experiments/ibeacon.c b/experiments/ibeacon.c index e518421..80cbaaf 100644 --- a/experiments/ibeacon.c +++ b/experiments/ibeacon.c @@ -21,16 +21,16 @@ int global_done = 0; unsigned int *uuid_str_to_data(char *uuid) { - char conv[] = "0123456789ABCDEF"; - int len = strlen(uuid); - unsigned int *data = (unsigned int*)malloc(sizeof(unsigned int) * len); - unsigned int *dp = data; - char *cu = uuid; + unsigned int *data = (unsigned int*)malloc(sizeof(unsigned int) * (strlen(uuid)/2)); + int c = 0; - for(; cu='A' && uuid[c]<='F')?(uuid[c]-'A'+10)*16:(uuid[c]-'0')*16; + data[i]+=(uuid[c+1]>='A' && uuid[c+1]<='F')?(uuid[c+1]-'A'+10):uuid[c+1]-'0'; + c+=2; } return data;