diff --git a/tivo_utils.c b/tivo_utils.c index 5039c93..efb3dbf 100644 --- a/tivo_utils.c +++ b/tivo_utils.c @@ -20,7 +20,6 @@ #include #include #include -#include // Defines __u32 #include #include "tivo_utils.h" @@ -85,55 +84,58 @@ decodeString(char * string, int inplace) /* These next functions implement a repeatable random function with a user-provided seed */ static int -seedRandomByte(__u32 seed) { - unsigned char t; - if( !sqlite3Prng.isInit ) - { - int i; - char k[256]; - sqlite3Prng.j = 0; - sqlite3Prng.i = 0; - memset(&k, 0, 256); - memcpy(&k, &seed, 4); - for(i=0; i<256; i++){ - sqlite3Prng.s[i] = i; - } - for(i=0; i<256; i++){ - sqlite3Prng.j += sqlite3Prng.s[i] + k[i]; - t = sqlite3Prng.s[sqlite3Prng.j]; - sqlite3Prng.s[sqlite3Prng.j] = sqlite3Prng.s[i]; - sqlite3Prng.s[i] = t; - } - sqlite3Prng.isInit = 1; - } - /* Generate and return single random byte */ - sqlite3Prng.i++; - t = sqlite3Prng.s[sqlite3Prng.i]; - sqlite3Prng.j += t; - sqlite3Prng.s[sqlite3Prng.i] = sqlite3Prng.s[sqlite3Prng.j]; - sqlite3Prng.s[sqlite3Prng.j] = t; - t += sqlite3Prng.s[sqlite3Prng.i]; +seedRandomByte(uint32_t seed) +{ + unsigned char t; - return sqlite3Prng.s[t]; + if( !sqlite3Prng.isInit ) + { + int i; + char k[256]; + sqlite3Prng.j = 0; + sqlite3Prng.i = 0; + memset(&k, '\0', sizeof(k)); + memcpy(&k, &seed, 4); + for(i=0; i<256; i++) + sqlite3Prng.s[i] = i; + for(i=0; i<256; i++) + { + sqlite3Prng.j += sqlite3Prng.s[i] + k[i]; + t = sqlite3Prng.s[sqlite3Prng.j]; + sqlite3Prng.s[sqlite3Prng.j] = sqlite3Prng.s[i]; + sqlite3Prng.s[i] = t; + } + sqlite3Prng.isInit = 1; + } + /* Generate and return single random byte */ + sqlite3Prng.i++; + t = sqlite3Prng.s[sqlite3Prng.i]; + sqlite3Prng.j += t; + sqlite3Prng.s[sqlite3Prng.i] = sqlite3Prng.s[sqlite3Prng.j]; + sqlite3Prng.s[sqlite3Prng.j] = t; + t += sqlite3Prng.s[sqlite3Prng.i]; + + return sqlite3Prng.s[t]; } void -seedRandomness(int N, void *pBuf, __u32 seed){ - unsigned char *zBuf = pBuf; +seedRandomness(int n, void *pbuf, uint32_t seed) +{ + unsigned char *zbuf = pbuf; - while( N-- ){ - *(zBuf++) = seedRandomByte(seed); - } + while( n-- ) + *(zbuf++) = seedRandomByte(seed); } void TiVoRandomSeedFunc(sqlite3_context *context, int argc, sqlite3_value **argv) { - sqlite_int64 r, seed; - if( argc != 1 || sqlite3_value_type(argv[0]) != SQLITE_INTEGER ) - return; - seed = sqlite3_value_int64(argv[0]); - seedRandomness(sizeof(r), &r, seed); - sqlite3_result_int64(context, r); + sqlite_int64 r, seed; + + if( argc != 1 || sqlite3_value_type(argv[0]) != SQLITE_INTEGER ) + return; + seed = sqlite3_value_int64(argv[0]); + seedRandomness(sizeof(r), &r, seed); + sqlite3_result_int64(context, r); } #endif diff --git a/upnpglobalvars.c b/upnpglobalvars.c index 8cc68d5..ad135e2 100644 --- a/upnpglobalvars.c +++ b/upnpglobalvars.c @@ -91,4 +91,4 @@ struct album_art_name_s * album_art_names = NULL; struct client_cache_s clients[CLIENT_CACHE_SLOTS]; short int scanning = 0; volatile short int quitting = 0; -volatile __u32 updateID = 0; +volatile uint32_t updateID = 0; diff --git a/upnpglobalvars.h b/upnpglobalvars.h index 0dc6f73..be8dbac 100644 --- a/upnpglobalvars.h +++ b/upnpglobalvars.h @@ -50,7 +50,6 @@ #define __UPNPGLOBALVARS_H__ #include -#include // Defines __u32 #include "minidlnatypes.h" #include "config.h" @@ -203,6 +202,6 @@ extern struct album_art_name_s * album_art_names; extern struct client_cache_s clients[CLIENT_CACHE_SLOTS]; extern short int scanning; extern volatile short int quitting; -extern volatile __u32 updateID; +extern volatile uint32_t updateID; #endif