48 lines
1.5 KiB
Plaintext
48 lines
1.5 KiB
Plaintext
$NetBSD: patch-ah,v 1.3 2014/07/07 18:06:58 jperkin Exp $
|
|
|
|
Support SunOS.
|
|
|
|
--- fileio.c.orig 2011-09-05 18:26:37.000000000 +0000
|
|
+++ fileio.c
|
|
@@ -14,6 +14,10 @@
|
|
#define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
|
|
#endif
|
|
|
|
+#ifndef NAME_MAX
|
|
+#define NAME_MAX MAXNAMLEN
|
|
+#endif
|
|
+
|
|
#include <sys/time.h>
|
|
#include <sys/resource.h>
|
|
#include <sys/wait.h>
|
|
@@ -544,11 +548,7 @@ make_file_list(char *buf)
|
|
* SV files are fairly short. For BSD, something more general would
|
|
* be required.
|
|
*/
|
|
-#ifdef __CYGWIN__ /* Cygwin uses NAME_MAX for dirents */
|
|
if (preflen > NFILEN - NAME_MAX)
|
|
-#else
|
|
- if (preflen > NFILEN - MAXNAMLEN)
|
|
-#endif
|
|
return (NULL);
|
|
|
|
/* loop over the specified directory, making up the list of files */
|
|
@@ -570,7 +570,7 @@ make_file_list(char *buf)
|
|
#if defined (__CYGWIN__) /* Cygwin lacks reclen/namlen. */
|
|
if (strlen(dent->d_name) < len
|
|
|| memcmp(cp, dent->d_name, len) != 0)
|
|
-#elif defined (__GLIBC__) /* Linux uses reclen instead. */
|
|
+#elif defined (__GLIBC__) || defined(__sun) /* Linux uses reclen instead. */
|
|
if (dent->d_reclen < len || memcmp(cp, dent->d_name, len) != 0)
|
|
#else
|
|
if (dent->d_namlen < len || memcmp(cp, dent->d_name, len) != 0)
|
|
@@ -579,7 +579,7 @@ make_file_list(char *buf)
|
|
|
|
isdir = 0;
|
|
|
|
-#ifndef __CYGWIN__ /* No support for d_type in Cygwin, do all
|
|
+#if !defined(__CYGWIN__) && !defined(__sun) /* No support for d_type in Cygwin, do all
|
|
type cheking with stat. */
|
|
if (dent->d_type == DT_DIR) {
|
|
isdir = 1;
|