Merge pull request #230 from vDorst/refactor_is_word

Refactor is_word() and is_word_x()
This commit is contained in:
logicog
2026-05-18 18:31:17 +02:00
committed by GitHub
+30 -18
View File
@@ -116,18 +116,24 @@ char strcmp(__xdata uint8_t *c, __code uint8_t * __xdata d)
} }
char is_word(__xdata uint8_t *c, __code uint8_t * __xdata d) bool is_word(__xdata uint8_t *xdata_str_p, __code uint8_t * __xdata code_str_p)
{ {
uint8_t i = 0; uint8_t u, c;
while (d[i] && (d[i] == c[i])) while (1) {
i++; u = *xdata_str_p++;
c = *code_str_p++;
if (d[i]) if (c == '\0') {
return 0; if (u != '\0' && u != ' ' && u != '\t' && u != ':' && u != '?' && u != '=' && u != '\n' && u != '\r')
if (c[i] != ' ' && c[i] != '\t' && c[i] != ':' && c[i] != '?' && c[i] != '=' && c[i] != '\n' && c[i] != '\r' && c[i]) return false;
return 0; return true;
return 1; }
if (c != u) {
return false;
}
}
} }
@@ -174,18 +180,24 @@ bool is_url_word_x(__xdata uint8_t *uri_str_p, __xdata uint8_t *src_str_p)
} }
char is_word_x(__xdata uint8_t *c, __xdata uint8_t *d) bool is_word_x(__xdata uint8_t *lhs_str_p, __xdata uint8_t *rhs_str_p)
{ {
register uint8_t i = 0; uint8_t u, c;
while (d[i] && (d[i] == c[i])) while (1) {
i++; u = *lhs_str_p++;
c = *rhs_str_p++;
if (d[i]) if (c == '\0') {
return 0; if (u != '\0' && u != ' ' && u != '\t' && u != ':' && u != '?' && u != '=' && u != '\n' && u != '\r')
if (c[i] != ' ' && c[i] != '\t' && c[i] != ':' && c[i] != '?' && c[i] != '=' && c[i] != '\n' && c[i] != '\r' && c[i]) return false;
return 0; return true;
return 1; }
if (c != u) {
return false;
}
}
} }