From 4f16af8474cca30f5484f65612ef813283ef05de Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Apr 23 2020 14:26:58 +0000 Subject: Make rpmsign exit values more consistent with our other tools rpmPkgSign*() return -1 for failure, which is not that helpful when returned to shell and the way it was counted could easily wrap around when signing multiple packages. Return number of failures similarly to how rpm -q and frieds does, avoid overflows and xargs special value 255. --- diff --git a/rpmsign.c b/rpmsign.c index ae86f66..1a5cd59 100644 --- a/rpmsign.c +++ b/rpmsign.c @@ -134,7 +134,8 @@ static int doSign(poptContext optCon, struct rpmSignArgs *sargs) const char *arg; rc = 0; while ((arg = poptGetArg(optCon)) != NULL) { - rc += rpmPkgSign(arg, sargs); + if (rpmPkgSign(arg, sargs) < 0) + rc++; } exit: @@ -175,7 +176,8 @@ int main(int argc, char *argv[]) case MODE_DELSIGN: ec = 0; while ((arg = poptGetArg(optCon)) != NULL) { - ec += rpmPkgDelSign(arg, &sargs); + if (rpmPkgDelSign(arg, &sargs) < 0) + ec++; } break; case MODE_NONE: @@ -188,5 +190,5 @@ int main(int argc, char *argv[]) exit: rpmcliFini(optCon); - return ec; + return RETVAL(ec); }