summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/coreutils.texi7
-rw-r--r--src/test.c6
2 files changed, 10 insertions, 3 deletions
diff --git a/doc/coreutils.texi b/doc/coreutils.texi
index 8dd1ed8ba..46deeed46 100644
--- a/doc/coreutils.texi
+++ b/doc/coreutils.texi
@@ -11535,7 +11535,7 @@ Exit status:
* File type tests:: -[bcdfhLpSt]
* Access permission tests:: -[gkruwxOG]
* File characteristic tests:: -e -s -nt -ot -ef
-* String tests:: -z -n = !=
+* String tests:: -z -n = == !=
* Numeric tests:: -eq -ne -lt -le -gt -ge
* Connectives for test:: ! -a -o
@end menu
@@ -11726,6 +11726,11 @@ True if the length of @var{string} is nonzero.
@cindex equal string check
True if the strings are equal.
+@item @var{string1} == @var{string2}
+@opindex ==
+@cindex equal string check
+True if the strings are equal (synonym for =).
+
@item @var{string1} != @var{string2}
@opindex !=
@cindex not-equal string check
diff --git a/src/test.c b/src/test.c
index 2d7aa673b..362df65d8 100644
--- a/src/test.c
+++ b/src/test.c
@@ -173,7 +173,8 @@ get_mtime (char const *filename, struct timespec *mtime)
static bool
binop (char const *s)
{
- return ((STREQ (s, "=")) || (STREQ (s, "!=")) || (STREQ (s, "-nt")) ||
+ return ((STREQ (s, "=")) || (STREQ (s, "!=")) || (STREQ (s, "==")) ||
+ (STREQ (s, "-nt")) ||
(STREQ (s, "-ot")) || (STREQ (s, "-ef")) || (STREQ (s, "-eq")) ||
(STREQ (s, "-ne")) || (STREQ (s, "-lt")) || (STREQ (s, "-le")) ||
(STREQ (s, "-gt")) || (STREQ (s, "-ge")));
@@ -360,7 +361,8 @@ binary_operator (bool l_is_l)
test_syntax_error (_("unknown binary operator"), argv[op]);
}
- if (argv[op][0] == '=' && !argv[op][1])
+ if (argv[op][0] == '=' && (!argv[op][1] ||
+ ((argv[op][1] == '=') && !argv[op][2])))
{
bool value = STREQ (argv[pos], argv[pos + 2]);
pos += 3;