[gnoduino: 106/237] Making Print::write(char *) non-virtual.
- From: Lucian Langa <lucilanga src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnoduino: 106/237] Making Print::write(char *) non-virtual.
- Date: Sat, 31 Mar 2012 20:23:44 +0000 (UTC)
commit 7b9b0620aed44c8caedd3775b87412328d38de21
Author: David A. Mellis <d mellis arduino cc>
Date: Wed Sep 7 18:41:05 2011 -0400
Making Print::write(char *) non-virtual.
http://code.google.com/p/arduino/issues/detail?id=607
arduino/cores/arduino/Client.h | 1 -
arduino/cores/arduino/Print.cpp | 10 ----------
arduino/cores/arduino/Print.h | 2 +-
arduino/cores/arduino/Server.h | 2 +-
arduino/cores/arduino/Udp.h | 2 --
5 files changed, 2 insertions(+), 15 deletions(-)
---
diff --git a/arduino/cores/arduino/Client.h b/arduino/cores/arduino/Client.h
index ed9e9b4..ea13483 100644
--- a/arduino/cores/arduino/Client.h
+++ b/arduino/cores/arduino/Client.h
@@ -10,7 +10,6 @@ public:
virtual int connect(IPAddress ip, uint16_t port) =0;
virtual int connect(const char *host, uint16_t port) =0;
virtual size_t write(uint8_t) =0;
- virtual size_t write(const char *str) =0;
virtual size_t write(const uint8_t *buf, size_t size) =0;
virtual int available() = 0;
virtual int read() = 0;
diff --git a/arduino/cores/arduino/Print.cpp b/arduino/cores/arduino/Print.cpp
index 8190d4f..500de8c 100755
--- a/arduino/cores/arduino/Print.cpp
+++ b/arduino/cores/arduino/Print.cpp
@@ -30,16 +30,6 @@
// Public Methods //////////////////////////////////////////////////////////////
/* default implementation: may be overridden */
-size_t Print::write(const char *str)
-{
- size_t n = 0;
- while (*str) {
- n += write(*str++);
- }
- return n;
-}
-
-/* default implementation: may be overridden */
size_t Print::write(const uint8_t *buffer, size_t size)
{
size_t n = 0;
diff --git a/arduino/cores/arduino/Print.h b/arduino/cores/arduino/Print.h
index 8530b03..1af6b72 100755
--- a/arduino/cores/arduino/Print.h
+++ b/arduino/cores/arduino/Print.h
@@ -46,7 +46,7 @@ class Print
void clearWriteError() { setWriteError(0); }
virtual size_t write(uint8_t) = 0;
- virtual size_t write(const char *str);
+ size_t write(const char *str) { return write((const uint8_t *)str, strlen(str)); }
virtual size_t write(const uint8_t *buffer, size_t size);
size_t print(const __FlashStringHelper *);
diff --git a/arduino/cores/arduino/Server.h b/arduino/cores/arduino/Server.h
index edab726..9674c76 100644
--- a/arduino/cores/arduino/Server.h
+++ b/arduino/cores/arduino/Server.h
@@ -1,7 +1,7 @@
#ifndef server_h
#define server_h
-class Server {
+class Server : public Print {
public:
virtual void begin() =0;
};
diff --git a/arduino/cores/arduino/Udp.h b/arduino/cores/arduino/Udp.h
index 1fb9cd3..dc5644b 100644
--- a/arduino/cores/arduino/Udp.h
+++ b/arduino/cores/arduino/Udp.h
@@ -57,8 +57,6 @@ public:
virtual int endPacket() =0;
// Write a single byte into the packet
virtual size_t write(uint8_t) =0;
- // Write a string of characters into the packet
- virtual size_t write(const char *str) =0;
// Write size bytes from buffer into the packet
virtual size_t write(const uint8_t *buffer, size_t size) =0;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]