aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/dbsize.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2005-08-02 15:17:24 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2005-08-02 15:17:24 +0000
commitf023fc6689bae02908e73c4cd7cf6e98c09ce9d7 (patch)
tree6c55bcb3f717712aecf617b7ab703ff45d7f92de /src/backend/utils/adt/dbsize.c
parent74888b93490ea7c4f70fafba196bb4ad2891c259 (diff)
downloadpostgresql-f023fc6689bae02908e73c4cd7cf6e98c09ce9d7.tar.gz
postgresql-f023fc6689bae02908e73c4cd7cf6e98c09ce9d7.zip
Use ReadDir() not readdir() so as to have some modicum of error checking.
Diffstat (limited to 'src/backend/utils/adt/dbsize.c')
-rw-r--r--src/backend/utils/adt/dbsize.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/backend/utils/adt/dbsize.c b/src/backend/utils/adt/dbsize.c
index 57b72fe15cc..e86f828f559 100644
--- a/src/backend/utils/adt/dbsize.c
+++ b/src/backend/utils/adt/dbsize.c
@@ -1,11 +1,11 @@
/*
* dbsize.c
- * object size functions
+ * object size functions
*
* Copyright (c) 2002-2005, PostgreSQL Global Development Group
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/dbsize.c,v 1.2 2005/08/02 14:07:27 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/dbsize.c,v 1.3 2005/08/02 15:17:24 tgl Exp $
*
*/
@@ -40,7 +40,7 @@ db_dir_size(const char *path)
if (!dirdesc)
return 0;
- while ((direntry = readdir(dirdesc)) != NULL)
+ while ((direntry = ReadDir(dirdesc, path)) != NULL)
{
struct stat fst;
@@ -71,6 +71,7 @@ calculate_database_size(Oid dbOid)
int64 totalsize = 0;
DIR *dirdesc;
struct dirent *direntry;
+ char dirpath[MAXPGPATH];
char pathname[MAXPGPATH];
/* Shared storage in pg_global is not counted */
@@ -80,15 +81,15 @@ calculate_database_size(Oid dbOid)
totalsize += db_dir_size(pathname);
/* Scan the non-default tablespaces */
- snprintf(pathname, MAXPGPATH, "%s/pg_tblspc", DataDir);
- dirdesc = AllocateDir(pathname);
+ snprintf(dirpath, MAXPGPATH, "%s/pg_tblspc", DataDir);
+ dirdesc = AllocateDir(dirpath);
if (!dirdesc)
ereport(ERROR,
(errcode_for_file_access(),
errmsg("could not open tablespace directory \"%s\": %m",
- pathname)));
+ dirpath)));
- while ((direntry = readdir(dirdesc)) != NULL)
+ while ((direntry = ReadDir(dirdesc, dirpath)) != NULL)
{
if (strcmp(direntry->d_name, ".") == 0 ||
strcmp(direntry->d_name, "..") == 0)
@@ -161,7 +162,7 @@ calculate_tablespace_size(Oid tblspcOid)
errmsg("could not open tablespace directory \"%s\": %m",
tblspcPath)));
- while ((direntry = readdir(dirdesc)) != NULL)
+ while ((direntry = ReadDir(dirdesc, tblspcPath)) != NULL)
{
struct stat fst;