summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2021-04-12 23:26:17 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2021-04-12 23:26:17 +0100
commit81c40ab7c29e6bc59f4c10fa1655fd7e4a47a1ec (patch)
tree3e687778639ce394ddfc1a4bbe08310fb240953d
parent99a3d04d5587e7908e0f2b41c71c297999a4e267 (diff)
downloadnetsurf-81c40ab7c29e6bc59f4c10fa1655fd7e4a47a1ec.tar.gz
netsurf-81c40ab7c29e6bc59f4c10fa1655fd7e4a47a1ec.tar.bz2
Amiga: Fix codesets.library conversion when string specified as zero length
-rwxr-xr-xfrontends/amiga/utf8.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/frontends/amiga/utf8.c b/frontends/amiga/utf8.c
index 2a4643b15..fabb1e24c 100755
--- a/frontends/amiga/utf8.c
+++ b/frontends/amiga/utf8.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2008-2020 Chris Young <chris@unsatisfactorysoftware.co.uk>
+ * Copyright 2008-2021 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
@@ -35,7 +35,7 @@
static nserror ami_utf8_codesets(const char *string, size_t len, char **result, bool to_local)
{
char *out;
- ULONG utf8_tag, local_tag;
+ ULONG utf8_tag = CSA_SourceCodeset, local_tag = CSA_DestCodeset, len_tag = CSA_SourceLen;
static struct codeset *utf8_cs = NULL;
static struct codeset *local_cs = NULL;
@@ -54,13 +54,12 @@ static nserror ami_utf8_codesets(const char *string, size_t len, char **result,
if(to_local == false) {
local_tag = CSA_SourceCodeset;
utf8_tag = CSA_DestCodeset;
- } else {
- utf8_tag = CSA_SourceCodeset;
- local_tag = CSA_DestCodeset;
}
+ if(len == 0) len_tag = TAG_IGNORE;
+
out = CodesetsConvertStr(CSA_Source, string,
- CSA_SourceLen, len,
+ len_tag, len,
#ifdef __amigaos4__
local_tag, local_cs,
#endif