summaryrefslogtreecommitdiff
path: root/ftp/pftpd/files/patch-plib_dirlist.c
blob: fb8f2cb185ea6b834ed94f48a2b7cff0dc94efd3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
--- plib/dirlist.c.orig	2013-07-04 11:10:49 UTC
+++ plib/dirlist.c
@@ -66,7 +66,11 @@ dirent_dup(const struct dirent *dep)
     n_dep = a_malloc(len, "struct dirent");
     memcpy(n_dep, dep, len);
 #else
+# ifdef __DragonFly__
+    n_dep = a_malloc(len = _DIRENT_RECLEN(dep->d_namlen), "struct dirent");
+# else
     n_dep = a_malloc(len = dep->d_reclen, "struct dirent");
+# endif
 #endif
     memcpy(n_dep, dep, len);
     
@@ -91,8 +95,12 @@ dirent_alloc(ino_t ino, const char *name
 	    
     dp = a_malloc(sizeof(*dp)+len, "struct dirent");
     dp->d_ino = ino;
+#ifdef		linux
     dp->d_off = 0;
+#endif		/* linux */
+#ifndef		__DragonFly__
     dp->d_reclen = len;
+#endif
     strcpy(dp->d_name, name);
 
     return dp;