diff options
author | Martin Szulecki | 2014-03-21 00:16:29 +0100 |
---|---|---|
committer | Martin Szulecki | 2014-03-21 00:16:29 +0100 |
commit | d1ccd4eeebc94dac11140ae77b73392d0763d3a4 (patch) | |
tree | fb5fa6cab2bdaf55b28004921960d331db59bf7b /common/utils.c | |
parent | 88ce6113593158944630435678e689bf155d9a03 (diff) | |
download | libimobiledevice-d1ccd4eeebc94dac11140ae77b73392d0763d3a4.tar.gz libimobiledevice-d1ccd4eeebc94dac11140ae77b73392d0763d3a4.tar.bz2 |
Refactor pair record handling to use new usbmuxd pair record interface
This refactoring is mandatory as libimobiledevice should not interact with
the pair record configuration directory which is owned by the usbmuxd user.
This change also adds compatibility for the native usbmuxd and thus pair
records saved by iTunes.
Diffstat (limited to 'common/utils.c')
-rw-r--r-- | common/utils.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/common/utils.c b/common/utils.c index 1b207ea..68b23b9 100644 --- a/common/utils.c +++ b/common/utils.c @@ -26,6 +26,7 @@ #include <stdarg.h> #include <stdlib.h> #include <string.h> +#include <time.h> #include "utils.h" @@ -107,6 +108,35 @@ char *string_concat(const char *str, ...) return result; } +static int get_rand(int min, int max) +{ + int retval = (rand() % (max - min)) + min; + return retval; +} + +char *generate_uuid() +{ + const char *chars = "ABCDEF0123456789"; + int i = 0; + char *uuid = (char *) malloc(sizeof(char) * 37); + + srand(time(NULL)); + + for (i = 0; i < 36; i++) { + if (i == 8 || i == 13 || i == 18 || i == 23) { + uuid[i] = '-'; + continue; + } else { + uuid[i] = chars[get_rand(0, 16)]; + } + } + + /* make it a real string */ + uuid[36] = '\0'; + + return uuid; +} + void buffer_read_from_filename(const char *filename, char **buffer, uint64_t *length) { FILE *f; |