diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-09-13 19:44:44 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-09-13 19:44:44 -0400 |
| commit | eae0a36b3921a9b4a93e8efa7b5f9d6b843c607b (patch) | |
| tree | b0332d0155456a98a29f9f32386999279bf9e6b2 | |
| parent | 0ead266477dc1cf240ef2a5dc1c93ba754438f85 (diff) | |
Remove dead code
| -rw-r--r-- | builtins/util.c | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/builtins/util.c b/builtins/util.c index 5cff1133..7749b22c 100644 --- a/builtins/util.c +++ b/builtins/util.c @@ -25,37 +25,4 @@ public char *heap_strf(const char *fmt, ...) return ret; } -// Name mangling algorithm to produce valid identifiers: -// Escape individual chars as "_x%02X" -// Things being escaped: -// - Leading digit -// - Non alphanumeric/non-underscore characters -// - "_" when followed by "x" and two uppercase hex digits -public char *mangle(const char *name) -{ - size_t len = 0; - for (const char *p = name; *p; p++) { - if ((!isalnum(*p) && *p != '_') // Non-identifier character - || (p == name && isdigit(*p)) // Leading digit - || (p[0] == '_' && p[1] == 'x' && strspn(p+2, "ABCDEF0123456789") >= 2)) { // Looks like hex escape - len += strlen("_x00"); // Hex escape - } else { - len += 1; - } - } - char *mangled = GC_MALLOC_ATOMIC(len + 1); - char *dest = mangled; - for (const char *src = name; *src; src++) { - if ((!isalnum(*src) && *src != '_') // Non-identifier character - || (src == name && isdigit(*src)) // Leading digit - || (src[0] == '_' && src[1] == 'x' && strspn(src+2, "ABCDEF0123456789") >= 2)) { // Looks like hex escape - dest += sprintf(dest, "_x%02X", *src); // Hex escape - } else { - *(dest++) = *src; - } - } - mangled[len] = '\0'; - return mangled; -} - // vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1,\:0 |
