--- lynx2-8-7/src/LYMain.c.orig 2009-07-06 01:52:33.000000000 +0200 +++ lynx2-8-7/src/LYMain.c 2010-01-03 14:58:31.000000000 +0100 @@ -967,6 +967,7 @@ struct stat dir_info; char filename[LY_MAXPATH]; BOOL LYGetStdinArgs = FALSE; + struct stat st; #ifdef _WINDOWS WSADATA WSAData; @@ -1209,6 +1210,21 @@ #endif LYTildeExpand(&lynx_temp_space, TRUE); + + if (stat(lynx_temp_space, &st) < 0) { + if (errno = ENOENT) { + printf("Creating dir %s\n", lynx_temp_space); + mkdir(lynx_temp_space, 0700); + } + } + + if (stat(lynx_temp_space, &st) < 0) { + if (errno = ENOENT) { + printf("Can't create %s, let's try /tmp/\n", lynx_temp_space); + lynx_temp_space = "/tmp/"; + } + } + if ((cp = strstr(lynx_temp_space, "$USER")) != NULL) { char *cp1; --- lynx2-8-7/userdefs.h.orig 2010-01-03 14:58:31.000000000 +0100 +++ lynx2-8-7/userdefs.h 2010-01-03 14:58:31.000000000 +0100 @@ -354,7 +354,7 @@ * the "TMPDIR" (unix), or "TEMP" or "TMP" (Windows,DOS,OS/2) * variable. */ -#define TEMP_SPACE "/tmp/" +#define TEMP_SPACE "~/tmp/" /******************************** * Comment this line out to disable code that implements command logging