aboutsummaryrefslogtreecommitdiff
path: root/db2/os/os_dir.c
diff options
context:
space:
mode:
Diffstat (limited to 'db2/os/os_dir.c')
-rw-r--r--db2/os/os_dir.c101
1 files changed, 0 insertions, 101 deletions
diff --git a/db2/os/os_dir.c b/db2/os/os_dir.c
deleted file mode 100644
index f2ee128c1e..0000000000
--- a/db2/os/os_dir.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1997, 1998
- * Sleepycat Software. All rights reserved.
- */
-
-#include "config.h"
-
-#ifndef lint
-static const char sccsid[] = "@(#)os_dir.c 10.19 (Sleepycat) 10/12/98";
-#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>
-#endif
-
-#include "db_int.h"
-#include "os_jump.h"
-
-/*
- * __os_dirlist --
- * Return a list of the files in a directory.
- *
- * PUBLIC: int __os_dirlist __P((const char *, char ***, int *));
- */
-int
-__os_dirlist(dir, namesp, cntp)
- const char *dir;
- char ***namesp;
- int *cntp;
-{
- struct dirent *dp;
- DIR *dirp;
- int arraysz, cnt, ret;
- char **names;
-
- if (__db_jump.j_dirlist != NULL)
- return (__db_jump.j_dirlist(dir, namesp, cntp));
-
- if ((dirp = opendir(dir)) == NULL)
- return (errno);
- names = NULL;
- for (arraysz = cnt = 0; (dp = readdir(dirp)) != NULL; ++cnt) {
- if (cnt >= arraysz) {
- arraysz += 100;
- if ((ret = __os_realloc(&names,
- arraysz * sizeof(names[0]))) != 0)
- goto nomem;
- }
- if ((ret = __os_strdup(dp->d_name, &names[cnt])) != 0)
- goto nomem;
- }
- (void)closedir(dirp);
-
- *namesp = names;
- *cntp = cnt;
- return (0);
-
-nomem: if (names != NULL)
- __os_dirfree(names, cnt);
- return (ret);
-}
-
-/*
- * __os_dirfree --
- * Free the list of files.
- *
- * PUBLIC: void __os_dirfree __P((char **, int));
- */
-void
-__os_dirfree(names, cnt)
- char **names;
- int cnt;
-{
- if (__db_jump.j_dirfree != NULL)
- __db_jump.j_dirfree(names, cnt);
-
- while (cnt > 0)
- __os_free(names[--cnt], 0);
- __os_free(names, 0);
-}