aboutsummaryrefslogtreecommitdiff
path: root/nuttx/lib/stdio/lib_stdinstream.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2012-08-12 17:37:04 +0000
committerpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2012-08-12 17:37:04 +0000
commit2b184e2630f74fe4f568212de7e143a9bc3743b8 (patch)
treeb8701e6c319c085758d39c4dd7d08c380fc2088a /nuttx/lib/stdio/lib_stdinstream.c
parent0512367a9c707f26b9a2b9057cf64714f46a0dc4 (diff)
downloadpx4-firmware-2b184e2630f74fe4f568212de7e143a9bc3743b8.tar.gz
px4-firmware-2b184e2630f74fe4f568212de7e143a9bc3743b8.tar.bz2
px4-firmware-2b184e2630f74fe4f568212de7e143a9bc3743b8.zip
drivers/serial/serial.c open, read, write, and poll methods will not return a short transfer or an EINTR error if a signal is received while waiting (only)
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@5022 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx/lib/stdio/lib_stdinstream.c')
-rw-r--r--nuttx/lib/stdio/lib_stdinstream.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/nuttx/lib/stdio/lib_stdinstream.c b/nuttx/lib/stdio/lib_stdinstream.c
index d89b6b63a..77aab9ec8 100644
--- a/nuttx/lib/stdio/lib_stdinstream.c
+++ b/nuttx/lib/stdio/lib_stdinstream.c
@@ -1,8 +1,8 @@
/****************************************************************************
* lib/stdio/lib_stdinstream.c
*
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
+ * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -37,6 +37,8 @@
* Included Files
****************************************************************************/
+#include <assert.h>
+
#include "lib_internal.h"
/****************************************************************************
@@ -50,16 +52,19 @@
static int stdinstream_getc(FAR struct lib_instream_s *this)
{
FAR struct lib_stdinstream_s *sthis = (FAR struct lib_stdinstream_s *)this;
- if (this)
+ int ret;
+
+ DEBUGASSERT(this);
+
+ /* Get the next character from the incoming stream */
+
+ ret = getc(sthis->stream);
+ if (ret != EOF)
{
- int ret = getc(sthis->stream);
- if (ret != EOF)
- {
- this->nget++;
- }
- return ret;
+ this->nget++;
}
- return EOF;
+
+ return ret;
}
/****************************************************************************