6082a876ca7d119c898f8fe15ffb9e2fc940e145 kent Sat Apr 6 14:38:24 2013 -0700 Made rTempName tolerate a trailing slash in dir name. diff --git src/lib/osunix.c src/lib/osunix.c index 4a74b34..9b5b71b 100644 --- src/lib/osunix.c +++ src/lib/osunix.c @@ -326,35 +326,36 @@ *s = 0; subChar(host, '-', '_'); subChar(host, ':', '_'); static char name[PATH_LEN]; safef(name, sizeof(name), "%s_%s_%x_%x", base, host, pid, num); return name; } char *rTempName(char *dir, char *base, char *suffix) /* Make a temp name that's almost certainly unique. */ { char *x; static char fileName[PATH_LEN]; int i; +char *lastSlash = (lastChar(dir) == '/' ? "" : "/"); for (i=0;;++i) { x = semiUniqName(base); - safef(fileName, sizeof(fileName), "%s/%s%d%s", - dir, x, i, suffix); + safef(fileName, sizeof(fileName), "%s%s%s%d%s", + dir, lastSlash, x, i, suffix); if (!fileExists(fileName)) break; } return fileName; } static void eatSlashSlashInPath(char *path) /* Convert multiple // to single // */ { char *s, *d; s = d = path; char c, lastC = 0; while ((c = *s++) != 0) { if (c == '/' && lastC == c)