diff options
author | marha <marha@users.sourceforge.net> | 2010-02-14 13:47:55 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-02-14 13:47:55 +0000 |
commit | 8d38172d866775594af3185ae3fbd8d750677650 (patch) | |
tree | 2514d176474cc8adf7911a57724cc681c1359b47 /xorg-server/os/utils.c | |
parent | 26f62ef5ccd04fa3a55632d808ca6e1061cfb983 (diff) | |
download | vcxsrv-8d38172d866775594af3185ae3fbd8d750677650.tar.gz vcxsrv-8d38172d866775594af3185ae3fbd8d750677650.tar.bz2 vcxsrv-8d38172d866775594af3185ae3fbd8d750677650.zip |
Updated to xorg-server-1.7.99.901
Diffstat (limited to 'xorg-server/os/utils.c')
-rw-r--r-- | xorg-server/os/utils.c | 44 |
1 files changed, 40 insertions, 4 deletions
diff --git a/xorg-server/os/utils.c b/xorg-server/os/utils.c index d7c8388d0..79399fa53 100644 --- a/xorg-server/os/utils.c +++ b/xorg-server/os/utils.c @@ -504,9 +504,7 @@ void UseMsg(void) #ifdef RLIMIT_STACK ErrorF("-ls int limit stack space to N Kb\n"); #endif -#ifdef SERVER_LOCK ErrorF("-nolock disable the locking mechanism\n"); -#endif #ifndef NOLOGOHACK ErrorF("-logo enable logo in screen saver\n"); ErrorF("nologo disable logo in screen saver\n"); @@ -758,7 +756,6 @@ ProcessCommandLine(int argc, char *argv[]) UseMsg(); } #endif -#ifdef SERVER_LOCK else if ( strcmp ( argv[i], "-nolock") == 0) { #if !defined(WIN32) && !defined(__CYGWIN__) @@ -768,7 +765,6 @@ ProcessCommandLine(int argc, char *argv[]) #endif nolock = TRUE; } -#endif #ifndef NOLOGOHACK else if ( strcmp( argv[i], "-logo") == 0) { @@ -1870,6 +1866,46 @@ CheckUserAuthorization(void) #endif } +/* + * Tokenize a string into a NULL terminated array of strings. Always returns + * an allocated array unless an error occurs. + */ +char** +xstrtokenize(const char *str, const char *separators) +{ + char **list, **nlist; + char *tok, *tmp; + unsigned num = 0, n; + + if (!str) + return NULL; + list = calloc(1, sizeof(*list)); + if (!list) + return NULL; + tmp = strdup(str); + if (!tmp) + goto error; + for (tok = strtok(tmp, separators); tok; tok = strtok(NULL, separators)) { + nlist = realloc(list, (num + 2) * sizeof(*list)); + if (!nlist) + goto error; + list = nlist; + list[num] = strdup(tok); + if (!list[num]) + goto error; + list[++num] = NULL; + } + free(tmp); + return list; + +error: + free(tmp); + for (n = 0; n < num; n++) + free(list[n]); + free(list); + return NULL; +} + #ifdef __SCO__ #include <fcntl.h> |