GPS with altitudes

Dependencies:   mbed

Fork of GPS by tito tito

Revision:
1:f24af888e699
diff -r 2c0686a07ab8 -r f24af888e699 getline.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/getline.cpp	Fri Mar 11 10:18:09 2016 +0000
@@ -0,0 +1,32 @@
+#include "mbed.h"
+// receive a line from a stream, allowing backspace editing,
+// and checking for buffer overflow. Terminates on either a \n or \r.
+size_t getline(Stream &s, char *buf, size_t bufsize)
+{
+    char c;
+    size_t receivedChars = 0;
+    for(;;)
+    {
+        c = s.getc();
+        if (c == '\r' || c == '\n')
+            break;
+        s.putc(c);
+        if (c == '\b')
+        {
+            if (receivedChars > 0)
+            {
+                buf--;
+                receivedChars--;
+            }
+        }
+        else if (receivedChars < bufsize - 1)
+        {
+            *buf++ = c;
+            receivedChars++;
+        }
+    }
+    *buf++ = 0;
+    s.putc('\n');
+    s.putc('\r');
+    return receivedChars;
+}
\ No newline at end of file