Add unicode support to dotenv

Newly passing tests:
```
aa🐍bb=key with emoji
value_with_emoji=aa🐍bb
```
This commit is contained in:
Jeff Epler 2022-10-05 18:15:09 -05:00
parent 4fb1a6a950
commit 27e6623657
No known key found for this signature in database
GPG Key ID: D5BF15AB975AB4DE
4 changed files with 7 additions and 1 deletions

View File

@ -124,7 +124,7 @@ STATIC bool key_matches(file_arg *active_file, const char *key) {
// Still on tentative key; see if it matches the next supplied key character,
// but don't run off the end of the supplied key.
if (key_pos < key_len) {
matches = matches && key[key_pos] == character;
matches = matches && (unsigned char)key[key_pos] == character;
escaped = false;
key_pos++;
} else {

View File

@ -21,3 +21,5 @@ space_after_key =value
space_after_key_before_value = value
quoted_then_comment='value'#comment
hash_with_spaces=#value value
aa🐍bb=key with emoji
value_with_emoji=aa🐍bb

View File

@ -23,3 +23,5 @@ print(f"space_after_key={dotenv.get_key(FILE, 'space_after_key')}")
print(f"space_after_key_before_value={dotenv.get_key(FILE, 'space_after_key_before_value')}")
print(f"quoted_then_comment={dotenv.get_key(FILE, 'quoted_then_comment')}")
print(f"hash_with_spaces={dotenv.get_key(FILE, 'hash_with_spaces')}")
print(f"aa🐍bb={dotenv.get_key(FILE, 'aa🐍bb')}")
print(f"value_with_emoji={dotenv.get_key(FILE, 'value_with_emoji')}")

View File

@ -19,3 +19,5 @@ space_after_key=value
space_after_key_before_value=value
quoted_then_comment=value
hash_with_spaces=#value value
aa🐍bb=key with emoji
value_with_emoji=aa🐍bb