ref: 20b1a772446db0cdb40da58427f1436065344e5c
parent: dc74c8b93d2aad45048cc0264c816d03d3e0ce15
author: Simon Tatham <anakin@pobox.com>
date: Thu Aug 4 14:09:48 EDT 2005
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]
--- a/midend.c
+++ b/midend.c
@@ -722,11 +722,13 @@
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 @@
* 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);