5 #if ENABLE_SERIAL_DEBUG
6 #include "../print_utils/printfTo.h"
12 #if ENABLE_SERIAL_DEBUG
13 Serial.println(
"compareTo()");
15 if (string_ == s) {
return 0; }
16 if (string_ ==
nullptr) {
return -1; }
17 if (s ==
nullptr) {
return 1; }
19 const char* a = (
const char*) string_;
21 bool isCstring = (type_ == kTypeCstring);
33 uint8_t ca = isCstring ? *a : pgm_read_byte(a);
35 #if ENABLE_SERIAL_DEBUG
36 printfTo(Serial,
"outer: a=%c b=%c", ca, cb);
43 if (0 < ca && ca < numKeywords_) {
44 const char* k = keywords_[ca];
48 #if ENABLE_SERIAL_DEBUG
49 printfTo(Serial,
"inner: a=%c b=%c", ca, cb);
59 return (
int) ca - (int) cb;
65 return (
int) ca - (int) cb;
68 if (ca ==
'\0')
return 0;
75 const char* s = (
const char*) string_;
76 if (s ==
nullptr)
return;
78 bool isCstring = (type_ == kTypeCstring);
84 char c = isCstring ? *s : pgm_read_byte(s);
88 if (c < numKeywords_) {
89 printer.print(keywords_[(uint8_t) c]);