diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-03-04 04:45:27 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-03-04 04:45:27 +0000 |
commit | 653556cc26b5c7f92014b7309070fb1e404a6c04 (patch) | |
tree | ba1b4fa74d5b42d4fdabe8502fc6847bd01be65d /src/backend/utils/init/miscinit.c | |
parent | 3382fbb60d15a865ca08ed81e5d467a1a71a53de (diff) | |
download | postgresql-653556cc26b5c7f92014b7309070fb1e404a6c04.tar.gz postgresql-653556cc26b5c7f92014b7309070fb1e404a6c04.zip |
If presented db path has a trailing slash, remove it to avoid generating
double slashes in generated filenames. This is not strictly necessary
on standard Unixen, but I'm being a neatnik...
Diffstat (limited to 'src/backend/utils/init/miscinit.c')
-rw-r--r-- | src/backend/utils/init/miscinit.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c index 5019757832e..dceb8b9cd6f 100644 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/init/miscinit.c,v 1.84 2002/03/02 21:39:33 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/init/miscinit.c,v 1.85 2002/03/04 04:45:27 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -121,9 +121,11 @@ void SetDataDir(const char *dir) { char *new; + int newlen; AssertArg(dir); + /* If presented path is relative, convert to absolute */ if (dir[0] != '/') { char *buf; @@ -164,6 +166,14 @@ SetDataDir(const char *dir) elog(FATAL, "out of memory"); } + /* + * Strip any trailing slash. Not strictly necessary, but avoids + * generating funny-looking paths to individual files. + */ + newlen = strlen(new); + if (newlen > 1 && new[newlen-1] == '/') + new[newlen-1] = '\0'; + if (DataDir) free(DataDir); DataDir = new; |