diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-10-26 19:22:03 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-10-26 19:22:03 +0000 |
commit | 1e4968e4d7353fb9dd1345aa0a2672261b06370f (patch) | |
tree | 8e6e07dbb3ad2fef46820564f3a9fb31d76a2392 /cpukit | |
parent | 2001-10-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff) | |
download | rtems-1e4968e4d7353fb9dd1345aa0a2672261b06370f.tar.bz2 |
2001-10-26 Joel Sherrill <joel@OARcorp.com>
* libc/libio.c: Cleanup of initialization per suggestion from
Eric Norum.
Diffstat (limited to '')
-rw-r--r-- | cpukit/libcsupport/src/libio.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/cpukit/libcsupport/src/libio.c b/cpukit/libcsupport/src/libio.c index f5cd36dbd9..713ba6dd33 100644 --- a/cpukit/libcsupport/src/libio.c +++ b/cpukit/libcsupport/src/libio.c @@ -189,13 +189,16 @@ unsigned32 rtems_libio_to_fcntl_flags( rtems_libio_t *rtems_libio_allocate( void ) { - rtems_libio_t *iop; + rtems_libio_t *iop, *next; rtems_status_code rc; rtems_semaphore_obtain( rtems_libio_semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT ); if (rtems_libio_iop_freelist) { iop = rtems_libio_iop_freelist; + next = iop->data1; + (void) memset( iop, 0, sizeof(rtems_libio_t) ); + iop->flags = LIBIO_FLAGS_OPEN; rc = rtems_semaphore_create( RTEMS_LIBIO_IOP_SEM(iop - rtems_libio_iops), 1, @@ -205,21 +208,7 @@ rtems_libio_t *rtems_libio_allocate( void ) ); if (rc != RTEMS_SUCCESSFUL) goto failed; - rtems_libio_iop_freelist = iop->data1; - - iop->driver = NULL; - iop->size = 0; - iop->offset = 0; - iop->flags = LIBIO_FLAGS_OPEN; - iop->pathinfo.node_access = NULL; - iop->pathinfo.handlers = NULL; - iop->pathinfo.ops = NULL; - iop->pathinfo.mt_entry = NULL; - iop->data0 = 0; - iop->data1 = NULL; - iop->file_info = NULL; - iop->handlers = NULL; - + rtems_libio_iop_freelist = next; goto done; } |