This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2] Move MAXPATHLEN definition


I am OK with this. But reviewing code from a phone is perilous. :)

If someone else beats me to committing this, thanks in advance.

--joel

Sebastian Huber <sebastian.huber@embedded-brains.de> wrote:


Glibc and FreeBSD define MAXPATHLEN in <sys/param.h>.  An include of
<unistd.h> only lets MAXPATHLEN undefined on both systems.  The change
brings Newlib in line with these systems.  This change may break
applications which rely on the previous Newlib approach.  The #ifndef
__CYGWIN__ was changed into a #ifndef MAXPATHLEN.  Will this work for
Cygwin?

newlib/ChangeLog
2013-10-16  Sebastian Huber <sebastian.huber@embedded-brains.de>

        * libc/include/sys/unistd.h (MAXPATHLEN): Delete.
        * libc/include/sys/param.h (MAXPATHLEN): Define.
        * libc/sys/rtems/sys/param.h (MAXPATHLEN): Likewise.
        * libc/unix/getcwd.c: Include <sys/param.h> for MAXPATHLEN.
---
 newlib/libc/include/sys/param.h   |    3 +++
 newlib/libc/include/sys/unistd.h  |    4 ----
 newlib/libc/sys/rtems/sys/param.h |    2 --
 newlib/libc/unix/getcwd.c         |    1 +
 4 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h
index 7e8762a..ef203d3 100644
--- a/newlib/libc/include/sys/param.h
+++ b/newlib/libc/include/sys/param.h
@@ -6,6 +6,7 @@
 # define _SYS_PARAM_H

 #include <sys/config.h>
+#include <sys/syslimits.h>
 #include <machine/endian.h>
 #include <machine/param.h>

@@ -19,6 +20,8 @@
 # define PATHSIZE (1024)
 #endif

+#define MAXPATHLEN PATH_MAX
+
 #define MAX(a,b) ((a) > (b) ? (a) : (b))
 #define MIN(a,b) ((a) < (b) ? (a) : (b))

diff --git a/newlib/libc/include/sys/unistd.h b/newlib/libc/include/sys/unistd.h
index a5f66c0..f1aacfa 100644
--- a/newlib/libc/include/sys/unistd.h
+++ b/newlib/libc/include/sys/unistd.h
@@ -500,10 +500,6 @@ int        _EXFUN(unlinkat, (int, const char *, int));
 #define _CS_V6_ENV                            _CS_V7_ENV
 #endif

-#ifndef __CYGWIN__
-# define       MAXPATHLEN      1024
-#endif
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/newlib/libc/sys/rtems/sys/param.h b/newlib/libc/sys/rtems/sys/param.h
index eac24e9..808745f 100644
--- a/newlib/libc/sys/rtems/sys/param.h
+++ b/newlib/libc/sys/rtems/sys/param.h
@@ -156,9 +156,7 @@
  * It should be set high enough to allow all legitimate uses, but halt
  * infinite loops reasonably quickly.
  */
-#if !defined(__rtems__)
 #define        MAXPATHLEN      PATH_MAX
-#endif
 #define MAXSYMLINKS    32

 /* Bit map related macros. */
diff --git a/newlib/libc/unix/getcwd.c b/newlib/libc/unix/getcwd.c
index b49a4b6..92f1b20 100644
--- a/newlib/libc/unix/getcwd.c
+++ b/newlib/libc/unix/getcwd.c
@@ -32,6 +32,7 @@
 static char sccsid[] = "@(#)getcwd.c   5.11 (Berkeley) 2/24/91";
 #endif /* LIBC_SCCS and not lint */

+#include <sys/param.h>
 #include <sys/stat.h>
 #include <errno.h>
 #include <dirent.h>
--
1.7.7


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]