30
30
// Public Methods //////////////////////////////////////////////////////////////
31
31
32
32
/* default implementation: may be overridden */
33
- long Print::write (const char *str)
33
+ ssize_t Print::write (const char *str)
34
34
{
35
- long n = 0 ;
35
+ ssize_t n = 0 ;
36
36
while (*str) {
37
37
if (write (*str++) <= 0 ) break ;
38
38
n++;
@@ -41,20 +41,20 @@ long Print::write(const char *str)
41
41
}
42
42
43
43
/* default implementation: may be overridden */
44
- long Print::write (const uint8_t *buffer, size_t size)
44
+ ssize_t Print::write (const uint8_t *buffer, size_t size)
45
45
{
46
- long n = 0 ;
46
+ ssize_t n = 0 ;
47
47
while (size--) {
48
48
if (write (*buffer++) <= 0 ) break ;
49
49
n++;
50
50
}
51
51
return n;
52
52
}
53
53
54
- long Print::print (const __FlashStringHelper *ifsh)
54
+ ssize_t Print::print (const __FlashStringHelper *ifsh)
55
55
{
56
56
const prog_char *p = (const prog_char *)ifsh;
57
- long n = 0 ;
57
+ ssize_t n = 0 ;
58
58
while (1 ) {
59
59
unsigned char c = pgm_read_byte (p++);
60
60
if (c == 0 ) break ;
@@ -64,48 +64,48 @@ long Print::print(const __FlashStringHelper *ifsh)
64
64
return n;
65
65
}
66
66
67
- long Print::print (const String &s)
67
+ ssize_t Print::print (const String &s)
68
68
{
69
- long n = 0 ;
69
+ ssize_t n = 0 ;
70
70
for (int i = 0 ; i < s.length (); i++) {
71
71
if (write (s[i]) < 0 ) break ;
72
72
n++;
73
73
}
74
74
return n;
75
75
}
76
76
77
- long Print::print (const char str[])
77
+ ssize_t Print::print (const char str[])
78
78
{
79
79
return write (str);
80
80
}
81
81
82
- long Print::print (char c)
82
+ ssize_t Print::print (char c)
83
83
{
84
84
return write (c);
85
85
}
86
86
87
- long Print::print (unsigned char b, int base)
87
+ ssize_t Print::print (unsigned char b, int base)
88
88
{
89
89
return print ((unsigned long ) b, base);
90
90
}
91
91
92
- long Print::print (int n, int base)
92
+ ssize_t Print::print (int n, int base)
93
93
{
94
94
return print ((long ) n, base);
95
95
}
96
96
97
- long Print::print (unsigned int n, int base)
97
+ ssize_t Print::print (unsigned int n, int base)
98
98
{
99
99
return print ((unsigned long ) n, base);
100
100
}
101
101
102
- long Print::print (long n, int base)
102
+ ssize_t Print::print (long n, int base)
103
103
{
104
104
if (base == 0 ) {
105
105
return write (n);
106
106
} else if (base == 10 ) {
107
107
if (n < 0 ) {
108
- long t = print (' -' );
108
+ int t = print (' -' );
109
109
if (t <= 0 ) return t;
110
110
n = -n;
111
111
return printNumber (n, 10 ) + 1 ;
@@ -116,110 +116,110 @@ long Print::print(long n, int base)
116
116
}
117
117
}
118
118
119
- long Print::print (unsigned long n, int base)
119
+ ssize_t Print::print (unsigned long n, int base)
120
120
{
121
121
if (base == 0 ) return write (n);
122
122
else return printNumber (n, base);
123
123
}
124
124
125
- long Print::print (double n, int digits)
125
+ ssize_t Print::print (double n, int digits)
126
126
{
127
127
return printFloat (n, digits);
128
128
}
129
129
130
- long Print::println (const __FlashStringHelper *ifsh)
130
+ ssize_t Print::println (const __FlashStringHelper *ifsh)
131
131
{
132
- long n = print (ifsh);
132
+ ssize_t n = print (ifsh);
133
133
if (n >= 0 ) n += println ();
134
134
return n;
135
135
}
136
136
137
- long Print::print (const Printable& x)
137
+ ssize_t Print::print (const Printable& x)
138
138
{
139
139
return x.printTo (*this );
140
140
}
141
141
142
- long Print::println (void )
142
+ ssize_t Print::println (void )
143
143
{
144
- long t = print (' \r ' );
144
+ ssize_t t = print (' \r ' );
145
145
if (t <= 0 ) return t;
146
146
if (print (' \n ' ) <= 0 ) return 1 ;
147
147
return 2 ;
148
148
}
149
149
150
- long Print::println (const String &s)
150
+ ssize_t Print::println (const String &s)
151
151
{
152
- long n = print (s);
152
+ ssize_t n = print (s);
153
153
if (n >= 0 ) n += println ();
154
154
return n;
155
155
}
156
156
157
- long Print::println (const char c[])
157
+ ssize_t Print::println (const char c[])
158
158
{
159
- long n = print (c);
159
+ ssize_t n = print (c);
160
160
if (n >= 0 ) n += println ();
161
161
return n;
162
162
}
163
163
164
- long Print::println (char c)
164
+ ssize_t Print::println (char c)
165
165
{
166
- long n = print (c);
166
+ ssize_t n = print (c);
167
167
if (n > 0 ) n += println ();
168
168
return n;
169
169
}
170
170
171
- long Print::println (unsigned char b, int base)
171
+ ssize_t Print::println (unsigned char b, int base)
172
172
{
173
- long n = print (b, base);
173
+ ssize_t n = print (b, base);
174
174
if (n >= 0 ) n += println ();
175
175
return n;
176
176
}
177
177
178
- long Print::println (int num, int base)
178
+ ssize_t Print::println (int num, int base)
179
179
{
180
- long n = print (num, base);
180
+ ssize_t n = print (num, base);
181
181
if (n >= 0 ) n += println ();
182
182
return n;
183
183
}
184
184
185
- long Print::println (unsigned int num, int base)
185
+ ssize_t Print::println (unsigned int num, int base)
186
186
{
187
- long n = print (num, base);
187
+ ssize_t n = print (num, base);
188
188
if (n >= 0 ) n += println ();
189
189
return n;
190
190
}
191
191
192
- long Print::println (long num, int base)
192
+ ssize_t Print::println (long num, int base)
193
193
{
194
- long n = print (num, base);
194
+ ssize_t n = print (num, base);
195
195
if (n >= 0 ) n += println ();
196
196
return n;
197
197
}
198
198
199
- long Print::println (unsigned long num, int base)
199
+ ssize_t Print::println (unsigned long num, int base)
200
200
{
201
- long n = print (num, base);
201
+ ssize_t n = print (num, base);
202
202
if (n >= 0 ) n += println ();
203
203
return n;
204
204
}
205
205
206
- long Print::println (double num, int digits)
206
+ ssize_t Print::println (double num, int digits)
207
207
{
208
- long n = print (num, digits);
208
+ ssize_t n = print (num, digits);
209
209
if (n >= 0 ) n += println ();
210
210
return n;
211
211
}
212
212
213
- long Print::println (const Printable& x)
213
+ ssize_t Print::println (const Printable& x)
214
214
{
215
- long n = print (x);
215
+ ssize_t n = print (x);
216
216
if (n >= 0 ) n += println ();
217
217
return n;
218
218
}
219
219
220
220
// Private Methods /////////////////////////////////////////////////////////////
221
221
222
- long Print::printNumber (unsigned long n, uint8_t base) {
222
+ ssize_t Print::printNumber (unsigned long n, uint8_t base) {
223
223
char buf[8 * sizeof (long ) + 1 ]; // Assumes 8-bit chars plus zero byte.
224
224
char *str = &buf[sizeof (buf) - 1 ];
225
225
@@ -238,9 +238,9 @@ long Print::printNumber(unsigned long n, uint8_t base) {
238
238
return write (str);
239
239
}
240
240
241
- long Print::printFloat (double number, uint8_t digits)
241
+ ssize_t Print::printFloat (double number, uint8_t digits)
242
242
{
243
- long n = 0 , t;
243
+ ssize_t n = 0 , t;
244
244
245
245
// Handle negative numbers
246
246
if (number < 0.0 )
0 commit comments