aboutsummaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2000-08-24 22:32:38 +0000
committerJeff Johnston <jjohnstn@redhat.com>2000-08-24 22:32:38 +0000
commit2d5862dee6b6acd965d93f39eed737e67863a34e (patch)
tree5a090bd5ab4f8ac0454daeb3c57e19152b3b8e09 /newlib
parentde43b06d7bd1d2e3f5472681732b39c46edd4ae4 (diff)
downloadnewlib-2d5862dee6b6acd965d93f39eed737e67863a34e.zip
newlib-2d5862dee6b6acd965d93f39eed737e67863a34e.tar.gz
newlib-2d5862dee6b6acd965d93f39eed737e67863a34e.tar.bz2
2000-08-23 Werner Almesberger <Werner.Almesberger@epfl.ch>
* libc/stdlib/mprec.c (ulp, b2d, d2b): changed a few expressions like x << y-z to the equivalent x << (y-z). (d2b): changed if statements with assignment to perform the assignment prior to the if check. * libc/reent/reent.c: included stdlib.h for "_free_r" prototype. * libc/unix/getpass.c (getpass): moved "echo" assignment out of if. * libc/unix/ttyname.c: included string.h for "strcpy" prototype. * libc/unix/getcwd.c (ISDOT): added parentheses to clarify && and || precedence. * libc/include/sys/unistd.h: added "vfork" prototype (for popen.c). Added "_execve" prototype (for execl.c, execle.c, execv.c, and execve.c). * libc/posix/popen.c (popen): added parentheses to clarify && and || precedence. * libm/math/e_cosh.c (__ieee754_cosh): changed parentheses to clarify && and || precendence (and to remove pascalism). * libm/math/e_sinh.c (__ieee754_sinh): Ditto. * libm/math/s_infconst.c: added another pair of braces to all initializers for __infinity (need three: for __infinity[1] array, for union __dmath, and for i[2]).
Diffstat (limited to 'newlib')
-rw-r--r--newlib/ChangeLog23
-rw-r--r--newlib/libc/include/sys/unistd.h5
-rw-r--r--newlib/libc/posix/popen.c2
-rw-r--r--newlib/libc/reent/reent.c1
-rw-r--r--newlib/libc/stdlib/mprec.c18
-rw-r--r--newlib/libc/unix/getcwd.c2
-rw-r--r--newlib/libc/unix/getpass.c3
-rw-r--r--newlib/libc/unix/ttyname.c1
8 files changed, 45 insertions, 10 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 15e49f1..34ebe48 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,5 +1,28 @@
2000-08-23 Werner Almesberger <Werner.Almesberger@epfl.ch>
+ * libc/stdlib/mprec.c (ulp, b2d, d2b): changed a few expressions
+ like x << y-z to the equivalent x << (y-z).
+ (d2b): changed if statements with assignment to perform the
+ assignment prior to the if check.
+ * libc/reent/reent.c: included stdlib.h for "_free_r" prototype.
+ * libc/unix/getpass.c (getpass): moved "echo" assignment out of if.
+ * libc/unix/ttyname.c: included string.h for "strcpy" prototype.
+ * libc/unix/getcwd.c (ISDOT): added parentheses to clarify && and ||
+ precedence.
+ * libc/include/sys/unistd.h: added "vfork" prototype (for popen.c).
+ Added "_execve" prototype (for execl.c, execle.c, execv.c, and
+ execve.c).
+ * libc/posix/popen.c (popen): added parentheses to clarify && and ||
+ precedence.
+ * libm/math/e_cosh.c (__ieee754_cosh): changed parentheses to
+ clarify && and || precendence (and to remove pascalism).
+ * libm/math/e_sinh.c (__ieee754_sinh): Ditto.
+ * libm/math/s_infconst.c: added another pair of braces to all
+ initializers for __infinity (need three: for __infinity[1] array,
+ for union __dmath, and for i[2]).
+
+2000-08-23 Werner Almesberger <Werner.Almesberger@epfl.ch>
+
* libc/stdlib/abort.c: changed description: uses "raise" instead of
"getpid" and "kill"; added: uses "write" and "_exit".
Also included unistd.h for "_exit" prototype.
diff --git a/newlib/libc/include/sys/unistd.h b/newlib/libc/include/sys/unistd.h
index 609a64d..a226a40 100644
--- a/newlib/libc/include/sys/unistd.h
+++ b/newlib/libc/include/sys/unistd.h
@@ -75,6 +75,10 @@ char _EXFUN(*ttyname, (int __fildes ));
int _EXFUN(unlink, (const char *__path ));
int _EXFUN(write, (int __fildes, const void *__buf, size_t __nbyte ));
+#ifndef _POSIX_SOURCE
+pid_t _EXFUN(vfork, (void ));
+#endif /* _POSIX_SOURCE */
+
/* Provide prototypes for most of the _<systemcall> names that are
provided in newlib for some compilers. */
int _EXFUN(_close, (int __fildes ));
@@ -86,6 +90,7 @@ int _EXFUN(_read, (int __fildes, void *__buf, size_t __nbyte ));
void * _EXFUN(_sbrk, (size_t __incr));
int _EXFUN(_unlink, (const char *__path ));
int _EXFUN(_write, (int __fildes, const void *__buf, size_t __nbyte ));
+int _EXFUN(_execve, (const char *__path, char * const __argv[], char * const __envp[] ));
#if defined(__CYGWIN__) || defined(__rtems__)
unsigned _EXFUN(usleep, (unsigned int __useconds));
diff --git a/newlib/libc/posix/popen.c b/newlib/libc/posix/popen.c
index f6a7421..4fd3dd9 100644
--- a/newlib/libc/posix/popen.c
+++ b/newlib/libc/posix/popen.c
@@ -71,7 +71,7 @@ popen(program, type)
FILE *iop;
int pdes[2], pid;
- if (*type != 'r' && *type != 'w' || type[1]) {
+ if ((*type != 'r' && *type != 'w') || type[1]) {
errno = EINVAL;
return (NULL);
}
diff --git a/newlib/libc/reent/reent.c b/newlib/libc/reent/reent.c
index 93b3e86..749a5bf 100644
--- a/newlib/libc/reent/reent.c
+++ b/newlib/libc/reent/reent.c
@@ -10,6 +10,7 @@ DESCRIPTION
non-rentrant functions, such as strtok.
*/
+#include <stdlib.h>
#include <reent.h>
/* Interim cleanup code */
diff --git a/newlib/libc/stdlib/mprec.c b/newlib/libc/stdlib/mprec.c
index 04ece07..8a2d404 100644
--- a/newlib/libc/stdlib/mprec.c
+++ b/newlib/libc/stdlib/mprec.c
@@ -663,7 +663,7 @@ _DEFUN (ulp, (_x), double _x)
word0 (a) = 0;
L -= Exp_shift;
#ifndef _DOUBLE_IS_32BITS
- word1 (a) = L >= 31 ? 1 : 1 << 31 - L;
+ word1 (a) = L >= 31 ? 1 : 1 << (31 - L);
#endif
}
}
@@ -710,7 +710,7 @@ _DEFUN (b2d, (a, e),
d0 = Exp_1 | y << k | z >> (32 - k);
y = xa > xa0 ? *--xa : 0;
#ifndef _DOUBLE_IS_32BITS
- d1 = z << k | y >> 32 - k;
+ d1 = z << k | y >> (32 - k);
#endif
}
else
@@ -794,11 +794,13 @@ _DEFUN (d2b,
#endif
#ifdef Pack_32
#ifndef _DOUBLE_IS_32BITS
- if (y = d1)
+ if (d1)
{
- if (k = lo0bits (&y))
+ y = d1;
+ k = lo0bits (&y);
+ if (k)
{
- x[0] = y | z << 32 - k;
+ x[0] = y | z << (32 - k);
z >>= k;
}
else
@@ -820,9 +822,11 @@ _DEFUN (d2b,
#endif
}
#else
- if (y = d1)
+ if (d1)
{
- if (k = lo0bits (&y))
+ y = d1;
+ k = lo0bits (&y);
+ if (k)
if (k >= 16)
{
x[0] = y | z << 32 - k & 0xffff;
diff --git a/newlib/libc/unix/getcwd.c b/newlib/libc/unix/getcwd.c
index ee53536..826fc78 100644
--- a/newlib/libc/unix/getcwd.c
+++ b/newlib/libc/unix/getcwd.c
@@ -49,7 +49,7 @@ static char sccsid[] = "@(#)getcwd.c 5.11 (Berkeley) 2/24/91";
#define ISDOT(dp) \
(dp->d_name[0] == '.' && (dp->d_name[1] == '\0' || \
- dp->d_name[1] == '.' && dp->d_name[2] == '\0'))
+ (dp->d_name[1] == '.' && dp->d_name[2] == '\0')))
#ifndef _REENT_ONLY
diff --git a/newlib/libc/unix/getpass.c b/newlib/libc/unix/getpass.c
index ff9e7e6..b45df07 100644
--- a/newlib/libc/unix/getpass.c
+++ b/newlib/libc/unix/getpass.c
@@ -70,7 +70,8 @@ getpass (prompt)
*/
omask = sigblock (sigmask (SIGINT) | sigmask (SIGTSTP));
(void) tcgetattr (fileno (fp), &term);
- if (echo = (term.c_lflag & ECHO))
+ echo = (term.c_lflag & ECHO);
+ if (echo)
{
term.c_lflag &= ~ECHO;
(void) tcsetattr (fileno (fp), TCSAFLUSH, &term);
diff --git a/newlib/libc/unix/ttyname.c b/newlib/libc/unix/ttyname.c
index 582a790..258ba25 100644
--- a/newlib/libc/unix/ttyname.c
+++ b/newlib/libc/unix/ttyname.c
@@ -41,6 +41,7 @@ static char sccsid[] = "@(#)ttyname.c 5.10 (Berkeley) 5/6/91";
#include <dirent.h>
#include <termios.h>
#include <unistd.h>
+#include <string.h>
#include <paths.h>
#include <_syslist.h>