about summary refs log tree commit diff
path: root/db2/os/db_os_dir.c
diff options
context:
space:
mode:
Diffstat (limited to 'db2/os/db_os_dir.c')
-rw-r--r--db2/os/db_os_dir.c138
1 files changed, 0 insertions, 138 deletions
diff --git a/db2/os/db_os_dir.c b/db2/os/db_os_dir.c
deleted file mode 100644
index 1206e3faa7..0000000000
--- a/db2/os/db_os_dir.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1997
- *	Sleepycat Software.  All rights reserved.
- */
-
-#include "config.h"
-
-#ifndef lint
-static const char sccsid[] = "@(#)db_os_dir.c	10.10 (Sleepycat) 9/17/97";
-#endif /* not lint */
-
-#ifndef NO_SYSTEM_INCLUDES
-#include <sys/types.h>
-
-#if HAVE_DIRENT_H
-# include <dirent.h>
-# define NAMLEN(dirent) strlen((dirent)->d_name)
-#else
-# define dirent direct
-# define NAMLEN(dirent) (dirent)->d_namlen
-# if HAVE_SYS_NDIR_H
-#  include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-#  include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-#  include <ndir.h>
-# endif
-#endif
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#endif
-
-#include "db_int.h"
-#include "os_ext.h"
-#include "common_ext.h"
-
-/*
- * __db_dir --
- *	Return a list of the files in a directory.
- *
- * PUBLIC: int __db_dir __P((DB_ENV *, const char *, char ***, int *));
- */
-int
-__db_dir(dbenv, dir, namesp, cntp)
-	DB_ENV *dbenv;
-	const char *dir;
-	char ***namesp;
-	int *cntp;
-{
-	int arraysz, cnt;
-	char **names;
-#ifdef _WIN32
-	struct _finddata_t fdata;
-	long dirhandle;
-	int finished;
-	char filespec[MAX_PATH];
-
-	(void)snprintf(filespec, sizeof(filespec), "%s/*", dir);
-	if ((dirhandle = _findfirst(filespec, &fdata)) == -1) {
-		__db_err(dbenv, "%s: %s", filespec, strerror(errno));
-		return (errno);
-	}
-
-	names = NULL;
-	finished = 0;
-	for (arraysz = cnt = 0; finished != 1; ++cnt) {
-		if (cnt >= arraysz) {
-			arraysz += 100;
-			names = (char **)(names == NULL ?
-			    malloc(arraysz * sizeof(names[0])) :
-			    realloc(names, arraysz * sizeof(names[0])));
-			if (names == NULL)
-				goto nomem;
-		}
-		if ((names[cnt] = (char *)strdup(fdata.name)) == NULL)
-			goto nomem;
-		if (_findnext(dirhandle,&fdata) != 0)
-			finished = 1;
-	}
-	_findclose(dirhandle);
-#else /* !_WIN32 */
-	struct dirent *dp;
-	DIR *dirp;
-
-	if ((dirp = opendir(dir)) == NULL) {
-		__db_err(dbenv, "%s: %s", dir, strerror(errno));
-		return (errno);
-	}
-	names = NULL;
-	for (arraysz = cnt = 0; (dp = readdir(dirp)) != NULL; ++cnt) {
-		if (cnt >= arraysz) {
-			arraysz += 100;
-			names = (char **)(names == NULL ?
-			    malloc(arraysz * sizeof(names[0])) :
-			    realloc(names, arraysz * sizeof(names[0])));
-			if (names == NULL)
-				goto nomem;
-		}
-		if ((names[cnt] = (char *)strdup(dp->d_name)) == NULL)
-			goto nomem;
-	}
-	(void)closedir(dirp);
-#endif /* !_WIN32 */
-
-	*namesp = names;
-	*cntp = cnt;
-	return (0);
-
-nomem:	if (names != NULL)
-		__db_dirf(dbenv, names, cnt);
-	__db_err(dbenv, "%s", strerror(ENOMEM));
-	return (ENOMEM);
-}
-
-/*
- * __db_dirf --
- *	Free the list of files.
- *
- * PUBLIC: void __db_dirf __P((DB_ENV *, char **, int));
- */
-void
-__db_dirf(dbenv, names, cnt)
-	DB_ENV *dbenv;
-	char **names;
-	int cnt;
-{
-	dbenv = dbenv;			/* XXX: Shut the compiler up. */
-	while (cnt > 0)
-		free(names[--cnt]);
-	free (names);
-}