[PATCH 7/9] libio: Ensure proper std file descriptors
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Dec 9 08:45:35 UTC 2016
---
cpukit/libcsupport/src/open_dev_console.c | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/cpukit/libcsupport/src/open_dev_console.c b/cpukit/libcsupport/src/open_dev_console.c
index 2e111cc..14257e8 100644
--- a/cpukit/libcsupport/src/open_dev_console.c
+++ b/cpukit/libcsupport/src/open_dev_console.c
@@ -17,20 +17,17 @@
#include <rtems/libio.h>
#include <fcntl.h>
#include <stdlib.h>
+#include <unistd.h>
/*
* This is a replaceable stub which opens the console, if present.
*/
void rtems_libio_post_driver(void)
{
- int stdin_fd;
- int stdout_fd;
- int stderr_fd;
-
/*
* Attempt to open /dev/console.
*/
- if ((stdin_fd = open("/dev/console", O_RDONLY, 0)) == -1) {
+ if (open("/dev/console", O_RDONLY, 0) != STDIN_FILENO) {
/*
* There may not be a console driver so this is OK.
*/
@@ -41,11 +38,13 @@ void rtems_libio_post_driver(void)
* But if we find /dev/console once, we better find it twice more
* or something is REALLY wrong.
*/
- if ((stdout_fd = open("/dev/console", O_WRONLY, 0)) == -1)
- rtems_fatal_error_occurred( 0x55544431 ); /* error STD1 */
+ if (open("/dev/console", O_WRONLY, 0) != STDOUT_FILENO) {
+ rtems_fatal_error_occurred( 0x55544431 );
+ }
- if ((stderr_fd = open("/dev/console", O_WRONLY, 0)) == -1)
- rtems_fatal_error_occurred( 0x55544432 ); /* error STD2 */
+ if (open("/dev/console", O_WRONLY, 0) != STDERR_FILENO) {
+ rtems_fatal_error_occurred( 0x55544432 );
+ }
atexit(rtems_libio_exit);
}
--
1.8.4.5
More information about the devel
mailing list