[PATCH] convert: fix handling of dashless UTF prefix in validate_encoding()
- From
René Scharfe <l.s.r@web.de>
- Date
- Oct 4, 2019, 19:25 UTC
- Message-ID
- <c886671c-7753-6ac8-fefc-277e76019cd4@web.de>
Strip "UTF" and an optional dash from the start of 'upper' without passing a NULL pointer to skip_prefix() in the second call, as it cannot handle that.
Signed-off-by: René Scharfe <l.s.r@web.de> --- convert.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/convert.c b/convert.c index deb6f71b2d..25ac525d5f 100644 --- a/convert.c +++ b/convert.c @@ -290,8 +290,8 @@ static int validate_encoding(const char *path, const char *enc, const char *stripped = NULL; char *upper = xstrdup_toupper(enc); upper[strlen(upper)-2] = '\0'; - if (!skip_prefix(upper, "UTF-", &stripped)) - skip_prefix(stripped, "UTF", &stripped); + if (skip_prefix(upper, "UTF", &stripped)) + skip_prefix(stripped, "-", &stripped); advise(advise_msg, path, stripped); free(upper); if (die_on_error) @@ -310,8 +310,8 @@ static int validate_encoding(const char *path, const char *enc, "working-tree-encoding."); const char *stripped = NULL; char *upper = xstrdup_toupper(enc); - if (!skip_prefix(upper, "UTF-", &stripped)) - skip_prefix(stripped, "UTF", &stripped); + if (skip_prefix(upper, "UTF", &stripped)) + skip_prefix(stripped, "-", &stripped); advise(advise_msg, path, stripped, stripped); free(upper); if (die_on_error) -- 2.23.0