[rtems commit] libio: Add rtems_libio_iop_is_writeable()

Sebastian Huber sebh at rtems.org
Fri Sep 15 09:00:37 UTC 2017


Module:    rtems
Branch:    master
Commit:    3cffd66d763ec83de382e2cb03c04e2eba0ac5e9
Changeset: http://git.rtems.org/rtems/commit/?id=3cffd66d763ec83de382e2cb03c04e2eba0ac5e9

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Sep 13 10:36:11 2017 +0200

libio: Add rtems_libio_iop_is_writeable()

Update #3132.

---

 cpukit/libcsupport/include/rtems/libio.h | 10 ++++++++++
 cpukit/libfs/src/imfs/imfs_linfile.c     |  2 +-
 cpukit/libnetworking/lib/ftpfs.c         |  4 ++--
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/cpukit/libcsupport/include/rtems/libio.h b/cpukit/libcsupport/include/rtems/libio.h
index 7d85fb7..72a787e 100644
--- a/cpukit/libcsupport/include/rtems/libio.h
+++ b/cpukit/libcsupport/include/rtems/libio.h
@@ -1400,6 +1400,16 @@ static inline bool rtems_libio_iop_is_readable( const rtems_libio_t *iop )
 }
 
 /**
+ * @brief Returns true if this is a writeable iop, otherwise returns false.
+ *
+ * @param[in] iop The iop.
+ */
+static inline bool rtems_libio_iop_is_writeable( const rtems_libio_t *iop )
+{
+  return ( rtems_libio_iop_flags( iop ) & LIBIO_FLAGS_WRITE ) != 0;
+}
+
+/**
  * @name External I/O Handlers
  */
 /**@{**/
diff --git a/cpukit/libfs/src/imfs/imfs_linfile.c b/cpukit/libfs/src/imfs/imfs_linfile.c
index 80a77c3..a27ba99 100644
--- a/cpukit/libfs/src/imfs/imfs_linfile.c
+++ b/cpukit/libfs/src/imfs/imfs_linfile.c
@@ -56,7 +56,7 @@ static int IMFS_linfile_open(
   /*
    * Perform 'copy on write' for linear files
    */
-  if ((iop->flags & LIBIO_FLAGS_WRITE) != 0) {
+  if (rtems_libio_iop_is_writeable(iop)) {
     uint32_t count = file->File.size;
     const unsigned char *buffer = file->Linearfile.direct;
 
diff --git a/cpukit/libnetworking/lib/ftpfs.c b/cpukit/libnetworking/lib/ftpfs.c
index deccddf..1e0f180 100644
--- a/cpukit/libnetworking/lib/ftpfs.c
+++ b/cpukit/libnetworking/lib/ftpfs.c
@@ -1032,11 +1032,11 @@ static int rtems_ftpfs_open(
   bool verbose = me->verbose;
   const struct timeval *timeout = &me->timeout;
 
-  e->write = (iop->flags & LIBIO_FLAGS_WRITE) != 0;
+  e->write = rtems_libio_iop_is_writeable(iop);
 
   /* Check for either read-only or write-only flags */
   if (
-    (iop->flags & LIBIO_FLAGS_WRITE) != 0
+    rtems_libio_iop_is_writeable(iop)
       && rtems_libio_iop_is_readable(iop)
   ) {
     eno = ENOTSUP;



More information about the vc mailing list