summaryrefslogtreecommitdiffstats
path: root/device.vala
diff options
context:
space:
mode:
authorSebastian Reichel <sre@ring0.de>2012-05-17 15:04:24 +0200
committerSebastian Reichel <sre@ring0.de>2012-05-17 15:04:24 +0200
commit22f7cca9be9ef5b4d2973770edab5ebc30408093 (patch)
tree1ca2b55fd2ec64690a3e06475c6cdeb99e4f062b /device.vala
parentc02426b27b06b8eb9fa201b6bb480ee39bbded21 (diff)
downloadserial-barcode-scanner-22f7cca9be9ef5b4d2973770edab5ebc30408093.tar.bz2
fix Device.receive()
Diffstat (limited to 'device.vala')
-rw-r--r--device.vala28
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 "";
}
/**