| --- aspell-0.60.7-20110707/common/config.cpp.orig 2014-03-20 19:51:08.756753700 +0000 |
| +++ aspell-0.60.7-20110707/common/config.cpp 2014-03-20 20:15:54.984480600 +0000 |
| @@ -658,6 +671,21 @@ |
| } else { // sep == '|' |
| assert(replace[0] == '$'); |
| const char * env = getenv(replace.c_str()+1); |
| + if (NULL == env && strcmp (replace.c_str() + 1, "HOME") == 0) |
| + { |
| + const char *hd, *hp; |
| + hd = getenv("HOMEDRIVE"); |
| + hp = getenv("HOMEPATH"); |
| + if (hd && hp) |
| + { |
| + char tmpbuf[strlen ("HOME=") + strlen (hd) + strlen (hp) + 1]; |
| + strcpy (tmpbuf, "HOME="); |
| + strcpy (&tmpbuf[strlen ("HOME=")], hd); |
| + strcpy (&tmpbuf[strlen ("HOME=") + strlen (hd)], hp); |
| + putenv (tmpbuf); |
| + env = getenv(replace.c_str()+1); |
| + } |
| + } |
| final_str += env ? env : second; |
| } |
| replace = ""; |