From ee652e3aabb29ee95714db74be892e16645f3bc2 Mon Sep 17 00:00:00 2001 From: Fredrik Modeen Date: Fri, 12 Sep 2008 14:06:56 +0000 Subject: [PATCH] reverted to 11769 and added (std::nothrow) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27452 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/device/SerialPort.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/kits/device/SerialPort.cpp b/src/kits/device/SerialPort.cpp index 09e6c705bd..60482300ba 100644 --- a/src/kits/device/SerialPort.cpp +++ b/src/kits/device/SerialPort.cpp @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -18,6 +19,7 @@ #include #include + /* The directory where the serial driver publishes its devices */ #define SERIAL_DIR "/dev/ports" @@ -62,7 +64,7 @@ BSerialPort::BSerialPort() fFlow(B_HARDWARE_CONTROL), fTimeout(B_INFINITE_TIMEOUT), fBlocking(true), - _fDevices(new BList) + _fDevices(new(std::nothrow) BList) { ScanDevices(); } @@ -479,9 +481,15 @@ BSerialPort::WaitForInput(void) int32 BSerialPort::CountDevices() { + int32 count = 0; + // Refresh devices list ScanDevices(); - return _fDevices->CountItems(); + + if (_fDevices != NULL) + count = _fDevices->CountItems(); + + return count; }