X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmisc.c;h=c2c85e400067b206a849aa016d7685de687c83b7;hb=c020bbb83dd5b52a353fa867d7746a43eb5e6ffc;hp=b11c080fca4ead384a8ab0bce9b0c000fedf1315;hpb=d82356191574038684ec15bb2e13fe803de52b53;p=rocksndiamonds.git diff --git a/src/misc.c b/src/misc.c index b11c080f..c2c85e40 100644 --- a/src/misc.c +++ b/src/misc.c @@ -27,6 +27,9 @@ #include "random.h" #include "joystick.h" +/* maximal allowed length of a command line option */ +#define MAX_OPTION_LEN 256 + static unsigned long mainCounter(int mode) { static struct timeval base_time = { 0, 0 }; @@ -159,9 +162,22 @@ unsigned int SimpleRND(unsigned int max) return (root % max); } +#ifdef DEBUG +static unsigned int last_RND_value = 0; + +unsigned int last_RND() +{ + return last_RND_value; +} +#endif + unsigned int RND(unsigned int max) { +#ifdef DEBUG + return (last_RND_value = random_linux_libc() % max); +#else return (random_linux_libc() % max); +#endif } unsigned int InitRND(long seed) @@ -213,12 +229,23 @@ char *getHomeDir() char *getPath2(char *path1, char *path2) { - char *complete_path = checked_malloc(strlen(path1) + strlen(path2) + 2); + char *complete_path = checked_malloc(strlen(path1) + 1 + + strlen(path2) + 1); sprintf(complete_path, "%s/%s", path1, path2); return complete_path; } +char *getPath3(char *path1, char *path2, char *path3) +{ + char *complete_path = checked_malloc(strlen(path1) + 1 + + strlen(path2) + 1 + + strlen(path3) + 1); + + sprintf(complete_path, "%s/%s/%s", path1, path2, path3); + return complete_path; +} + char *getStringCopy(char *s) { char *s_copy = checked_malloc(strlen(s) + 1);