diff options
Diffstat (limited to 'device.vala')
-rw-r--r-- | device.vala | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/device.vala b/device.vala index ee0967b..454e79b 100644 --- a/device.vala +++ b/device.vala @@ -125,23 +125,23 @@ public class Device { char[] detected = {}; char buf[64]; - int size = (int) this.read(buf, 64); - - if(size <= 0) - error("serial device lost.\n"); - - for(int i = 0; i < size; i++) { - if(buf[i] != '\r' && buf[i] != '\n') { - detected += (char) buf[i]; - } else { - if(detected.length > 0) { - detected += '\0'; - return (string) detected; + while(true) { + int size = (int) this.read(buf, 64); + + if(size <= 0) + error("serial device lost.\n"); + + for(int i = 0; i < size; i++) { + if(buf[i] != '\r' && buf[i] != '\n') { + detected += (char) buf[i]; + } else { + if(detected.length > 0) { + detected += '\0'; + return (string) detected; + } } } } - - return ""; } /** |