aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2005-08-04 18:09:48 +0000
committerSimon Tatham <anakin@pobox.com>2005-08-04 18:09:48 +0000
commit20b1a772446db0cdb40da58427f1436065344e5c (patch)
tree55c967ff1ac998b5fde996e91e5e3b95f6131c64
parentdc74c8b93d2aad45048cc0264c816d03d3e0ce15 (diff)
downloadpuzzles-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.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/midend.c b/midend.c
index f7d1aca..ceef686 100644
--- a/midend.c
+++ b/midend.c
@@ -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);