Helper: Case-insensitive string comparison
| 77 | |
| 78 | // Helper: Case-insensitive string comparison |
| 79 | bool iequals(const string& a, const string& b) { |
| 80 | if (a.size() != b.size()) return false; |
| 81 | for (size_t i = 0; i < a.size(); ++i) { |
| 82 | if (fl::tolower(a[i]) != fl::tolower(b[i])) return false; |
| 83 | } |
| 84 | return true; |
| 85 | } |
| 86 | |
| 87 | // Helper: Trim whitespace from string |
| 88 | string trim(const string& s) { |