[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