opkg_cmd: fix return of opkg compare-versions
authorRoss Burton <ross.burton@intel.com>
Tue, 1 Mar 2016 18:03:29 +0000 (18:03 +0000)
committerJo-Philipp Wich <jo@mein.io>
Wed, 15 Mar 2017 02:02:13 +0000 (03:02 +0100)
The implementation of opkg compare-version was simply returning the return value
of pkg_version_satisfied(), which returns a boolean.  This results in inverted
logic in that:

$ opkg compare-version 1.0 == 1.0 || echo different
different

That's clearly not right.  As nobody had noticed this before presumably nobody
was actually using this (likely either opkg-compare-version or
opkg-compare-versions.sh) just change the return value so it's correct.

Signed-off-by: Ross Burton <ross.burton@intel.com>
libopkg/opkg_cmd.c

index 7d5bd04a8d45f06c7f3a9ee064eb24581249c755..ee5902175a983c79b46657976f19cb1badddbcac 100644 (file)
@@ -1222,7 +1222,7 @@ static int opkg_compare_versions_cmd(int argc, char **argv)
                struct pkg p1, p2;
                parse_version(&p1, argv[0]);
                parse_version(&p2, argv[2]);
-               return pkg_version_satisfied(&p1, &p2, argv[1]);
+               return pkg_version_satisfied(&p1, &p2, argv[1]) ? 0 : 1;
        } else {
                opkg_msg(ERROR,
                         "opkg compare_versions <v1> <op> <v2>\n"