diff options
| author | Jordan Wiens <github@psifertex.com> | 2025-09-26 15:55:40 -0400 |
|---|---|---|
| committer | Jordan <github@psifertex.com> | 2025-10-01 15:19:28 -0400 |
| commit | e69f1b5525b6bb6d8cd08849537dba890c016b93 (patch) | |
| tree | ae7aa18206820c4199f5a948f43f42b0a396071c /python/generator.cpp | |
| parent | 420d622f83ad687d5848211f52e2e21693a44a13 (diff) | |
better handling for when utf8 decoding fails
Diffstat (limited to 'python/generator.cpp')
| -rw-r--r-- | python/generator.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/python/generator.cpp b/python/generator.cpp index 3fdd2fe4..2e8fd009 100644 --- a/python/generator.cpp +++ b/python/generator.cpp @@ -287,7 +287,10 @@ int main(int argc, char* argv[]) fprintf(out, " if isinstance(arg, str):\n"); fprintf(out, " return arg\n"); fprintf(out, " else:\n"); - fprintf(out, " return arg.decode('utf8')\n\n\n"); + fprintf(out, " try:\n"); + fprintf(out, " return arg.decode('utf8')\n"); + fprintf(out, " except UnicodeDecodeError:\n"); + fprintf(out, " return arg.decode('charmap')\n\n\n"); fprintf(out, "def free_string(value:ctypes.c_char_p) -> None:\n"); fprintf(out, " BNFreeString(ctypes.cast(value, ctypes.POINTER(ctypes.c_byte)))\n\n"); |
