diff options
| author | Simon Tatham <anakin@pobox.com> | 2005-08-04 18:09:48 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2005-08-04 18:09:48 +0000 |
| commit | 20b1a772446db0cdb40da58427f1436065344e5c (patch) | |
| tree | 55c967ff1ac998b5fde996e91e5e3b95f6131c64 | |
| parent | dc74c8b93d2aad45048cc0264c816d03d3e0ce15 (diff) | |
| download | puzzles-20b1a772446db0cdb40da58427f1436065344e5c.zip puzzles-20b1a772446db0cdb40da58427f1436065344e5c.tar.gz puzzles-20b1a772446db0cdb40da58427f1436065344e5c.tar.bz2 puzzles-20b1a772446db0cdb40da58427f1436065344e5c.tar.xz | |
Environment-based configuration wasn't sensibly usable in games with
spaces in the name. Fixed. (One day I really must get round to
turning this into a proper config mechanism.)
[originally from svn r6163]
| -rw-r--r-- | midend.c | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -722,11 +722,13 @@ float *midend_colours(midend_data *me, int *ncolours) for (i = 0; i < *ncolours; i++) { char buf[80], *e; unsigned int r, g, b; - int j; + int j, k; sprintf(buf, "%s_COLOUR_%d", me->ourgame->name, i); - for (j = 0; buf[j]; j++) - buf[j] = toupper((unsigned char)buf[j]); + for (j = k = 0; buf[j]; j++) + if (!isspace((unsigned char)buf[j])) + buf[k++] = toupper((unsigned char)buf[j]); + buf[k] = '\0'; if ((e = getenv(buf)) != NULL && sscanf(e, "%2x%2x%2x", &r, &g, &b) == 3) { ret[i*3 + 0] = r / 255.0; @@ -772,11 +774,13 @@ int midend_num_presets(midend_data *me) * encoded parameter strings. */ char buf[80], *e, *p; - int j; + int j, k; sprintf(buf, "%s_PRESETS", me->ourgame->name); - for (j = 0; buf[j]; j++) - buf[j] = toupper((unsigned char)buf[j]); + for (j = k = 0; buf[j]; j++) + if (!isspace((unsigned char)buf[j])) + buf[k++] = toupper((unsigned char)buf[j]); + buf[k] = '\0'; if ((e = getenv(buf)) != NULL) { p = e = dupstr(e); |