diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index 165a4bfb6a..6be57dbd5c 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -2808,6 +2808,12 @@ static ParameterError opt_filestring(struct OperationConfig *config,
return err;
}
+/* detect e2 80 80 - e2 80 ff */
+static bool has_leading_unicode(const unsigned char *arg)
+{
+ return ((arg[0] == 0xe2) && (arg[1] == 0x80) && (arg[2] & 0x80));
+}
+
/* the longest command line option, excluding the leading -- */
#define MAX_OPTION_LEN 26
@@ -2947,10 +2953,9 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
warnf("The filename argument '%s' looks like a flag.",
nextarg);
}
- else if(!strncmp("\xe2\x80\x9c", nextarg, 3)) {
- warnf("The argument '%s' starts with a Unicode quote where "
- "maybe an ASCII \" was intended?",
- nextarg);
+ else if(has_leading_unicode((const unsigned char *)nextarg)) {
+ warnf("The argument '%s' starts with a Unicode character. "
+ "Maybe ASCII was intended?", nextarg);
}
/* ARG_FILE | ARG_STRG */
err = opt_filestring(config, a, nextarg);
diff --git a/tests/data/test469 b/tests/data/test469
index 1e394c9f26..87754a2646 100644
--- a/tests/data/test469
+++ b/tests/data/test469
@@ -45,8 +45,8 @@ warn about Unicode quote character
# Verify data after the test has been "shot"
-%hex[Warning: The argument '%e2%80%9chost:' starts with a Unicode quote where maybe an ]hex%
-Warning: ASCII " was intended?
+%hex[Warning: The argument '%e2%80%9chost:' starts with a Unicode character. Maybe ASCII ]hex%
+Warning: was intended?
diff --git a/tests/data/test470 b/tests/data/test470
index 5667bbb590..547121d11a 100644
--- a/tests/data/test470
+++ b/tests/data/test470
@@ -45,8 +45,8 @@ warn about Unicode quote character read from config file
# Verify data after the test has been "shot"
-%hex[Warning: The argument '%e2%80%9chost:fake%e2%80%9d' starts with a Unicode quote where ]hex%
-Warning: maybe an ASCII " was intended?
+%hex[Warning: The argument '%e2%80%9chost:fake%e2%80%9d' starts with a Unicode character. Maybe ]hex%
+Warning: ASCII was intended?