aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-05-09 21:57:44 +0000
committerMike Frysinger <vapier@gentoo.org>2005-05-09 21:57:44 +0000
commita88d52237be23bb506950f7ecc70d2900aab61bb (patch)
treec83f170ec95bbc72644d8cfd92df746458a8bb41
parent507d1f76e5cbc74646a967b9ed7599dbd2d8eb88 (diff)
downloadbusybox-w32-a88d52237be23bb506950f7ecc70d2900aab61bb.tar.gz
busybox-w32-a88d52237be23bb506950f7ecc70d2900aab61bb.tar.bz2
busybox-w32-a88d52237be23bb506950f7ecc70d2900aab61bb.zip
trim out useless defines and use some busybox funcs
-rw-r--r--e2fsprogs/e2p/iod.c27
1 files changed, 3 insertions, 24 deletions
diff --git a/e2fsprogs/e2p/iod.c b/e2fsprogs/e2p/iod.c
index 808d3a39d..5321f2da1 100644
--- a/e2fsprogs/e2p/iod.c
+++ b/e2fsprogs/e2p/iod.c
@@ -15,9 +15,7 @@
15 */ 15 */
16 16
17#include "e2p.h" 17#include "e2p.h"
18#if HAVE_UNISTD_H
19#include <unistd.h> 18#include <unistd.h>
20#endif
21#include <stdlib.h> 19#include <stdlib.h>
22#include <string.h> 20#include <string.h>
23 21
@@ -27,27 +25,10 @@ int iterate_on_dir (const char * dir_name,
27{ 25{
28 DIR * dir; 26 DIR * dir;
29 struct dirent *de, *dep; 27 struct dirent *de, *dep;
30 int max_len = -1, len; 28 int max_len, len;
31 29
32#if HAVE_PATHCONF && defined(_PC_NAME_MAX) 30 max_len = PATH_MAX + sizeof(struct dirent);
33 max_len = pathconf(dir_name, _PC_NAME_MAX); 31 de = (struct dirent *)xmalloc(max_len+1);
34#endif
35 if (max_len == -1) {
36#ifdef _POSIX_NAME_MAX
37 max_len = _POSIX_NAME_MAX;
38#else
39#ifdef NAME_MAX
40 max_len = NAME_MAX;
41#else
42 max_len = 256;
43#endif /* NAME_MAX */
44#endif /* _POSIX_NAME_MAX */
45 }
46 max_len += sizeof(struct dirent);
47
48 de = malloc(max_len+1);
49 if (!de)
50 return -1;
51 memset(de, 0, max_len+1); 32 memset(de, 0, max_len+1);
52 33
53 dir = opendir (dir_name); 34 dir = opendir (dir_name);
@@ -57,12 +38,10 @@ int iterate_on_dir (const char * dir_name,
57 } 38 }
58 while ((dep = readdir (dir))) { 39 while ((dep = readdir (dir))) {
59 len = sizeof(struct dirent); 40 len = sizeof(struct dirent);
60#ifdef HAVE_RECLEN_DIRENT
61 if (len < dep->d_reclen) 41 if (len < dep->d_reclen)
62 len = dep->d_reclen; 42 len = dep->d_reclen;
63 if (len > max_len) 43 if (len > max_len)
64 len = max_len; 44 len = max_len;
65#endif
66 memcpy(de, dep, len); 45 memcpy(de, dep, len);
67 (*func) (dir_name, de, private); 46 (*func) (dir_name, de, private);
68 } 47 }