summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrissiom <[email protected]>2013-10-25 20:15:08 +0800
committerGrissiom <[email protected]>2013-10-25 20:15:08 +0800
commit21fb9a0bac9f5eaa57e41e60bab06e9f4dc216ae (patch)
tree115793a83e2a880836b8774ff0878aec81f373e6
parent5f61b8ce6ca9e06e9fbba5277a79f76c3c14d7f6 (diff)
serial: do onthing if the size of read/write is zero
Return early if the size is 0 as there is nothing to do.
-rw-r--r--components/drivers/serial/serial.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c
index 52e37f8cfe..5e7a8ec814 100644
--- a/components/drivers/serial/serial.c
+++ b/components/drivers/serial/serial.c
@@ -222,6 +222,10 @@ static rt_size_t rt_serial_read(struct rt_device *dev,
struct rt_serial_device *serial;
RT_ASSERT(dev != RT_NULL);
+
+ if (size == 0)
+ return 0;
+
serial = (struct rt_serial_device *)dev;
ptr = (rt_uint8_t *)buffer;
@@ -272,6 +276,10 @@ static rt_size_t rt_serial_write(struct rt_device *dev,
struct rt_serial_device *serial;
RT_ASSERT(dev != RT_NULL);
+
+ if (size == 0)
+ return 0;
+
serial = (struct rt_serial_device *)dev;
ptr = (rt_uint8_t*)buffer;