Simplify xbps_end() and don't continue if xbps_init() did not succeed.
This commit is contained in:
@@ -58,11 +58,9 @@ write_plist_file(prop_dictionary_t dict, const char *file)
|
||||
}
|
||||
|
||||
static void __attribute__((noreturn))
|
||||
usage(struct xbps_handle *xhp)
|
||||
usage(void)
|
||||
{
|
||||
if (xhp != NULL)
|
||||
xbps_end(xhp);
|
||||
|
||||
xbps_end();
|
||||
fprintf(stderr,
|
||||
"usage: xbps-uhelper [options] [action] [args]\n"
|
||||
"\n"
|
||||
@@ -135,7 +133,7 @@ main(int argc, char **argv)
|
||||
exit(EXIT_SUCCESS);
|
||||
case '?':
|
||||
default:
|
||||
usage(NULL);
|
||||
usage();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,7 +141,7 @@ main(int argc, char **argv)
|
||||
argv += optind;
|
||||
|
||||
if (argc < 1)
|
||||
usage(NULL);
|
||||
usage();
|
||||
|
||||
if ((strcasecmp(argv[0], "register") == 0) ||
|
||||
(strcasecmp(argv[0], "unregister") == 0) ||
|
||||
@@ -172,7 +170,7 @@ main(int argc, char **argv)
|
||||
if (strcasecmp(argv[0], "register") == 0) {
|
||||
/* Registers a package into the database */
|
||||
if (argc != 4)
|
||||
usage(&xh);
|
||||
usage();
|
||||
|
||||
dict = prop_dictionary_create();
|
||||
if (dict == NULL) {
|
||||
@@ -225,7 +223,7 @@ main(int argc, char **argv)
|
||||
} else if (strcasecmp(argv[0], "unregister") == 0) {
|
||||
/* Unregisters a package from the database */
|
||||
if (argc != 3)
|
||||
usage(&xh);
|
||||
usage();
|
||||
|
||||
rv = xbps_unregister_pkg(argv[1], argv[2], true);
|
||||
if (rv == ENOENT) {
|
||||
@@ -244,7 +242,7 @@ main(int argc, char **argv)
|
||||
} else if (strcasecmp(argv[0], "version") == 0) {
|
||||
/* Prints version of an installed package */
|
||||
if (argc != 2)
|
||||
usage(&xh);
|
||||
usage();
|
||||
|
||||
dict = xbps_regpkgdb_get_pkgd(argv[1], false);
|
||||
if (dict == NULL) {
|
||||
@@ -258,7 +256,7 @@ main(int argc, char **argv)
|
||||
} else if (strcasecmp(argv[0], "sanitize-plist") == 0) {
|
||||
/* Sanitize a plist file (properly indent the file) */
|
||||
if (argc != 2)
|
||||
usage(NULL);
|
||||
usage();
|
||||
|
||||
dict = prop_dictionary_internalize_from_zfile(argv[1]);
|
||||
if (dict == NULL) {
|
||||
@@ -272,7 +270,7 @@ main(int argc, char **argv)
|
||||
} else if (strcasecmp(argv[0], "getpkgversion") == 0) {
|
||||
/* Returns the version of a pkg string */
|
||||
if (argc != 2)
|
||||
usage(NULL);
|
||||
usage();
|
||||
|
||||
version = xbps_pkg_version(argv[1]);
|
||||
if (version == NULL) {
|
||||
@@ -285,7 +283,7 @@ main(int argc, char **argv)
|
||||
} else if (strcasecmp(argv[0], "getpkgname") == 0) {
|
||||
/* Returns the name of a pkg string */
|
||||
if (argc != 2)
|
||||
usage(NULL);
|
||||
usage();
|
||||
|
||||
pkgname = xbps_pkg_name(argv[1]);
|
||||
if (pkgname == NULL) {
|
||||
@@ -299,7 +297,7 @@ main(int argc, char **argv)
|
||||
} else if (strcasecmp(argv[0], "getpkgrevision") == 0) {
|
||||
/* Returns the revision of a pkg string */
|
||||
if (argc != 2)
|
||||
usage(NULL);
|
||||
usage();
|
||||
|
||||
version = xbps_pkg_revision(argv[1]);
|
||||
if (version == NULL)
|
||||
@@ -310,7 +308,7 @@ main(int argc, char **argv)
|
||||
} else if (strcasecmp(argv[0], "getpkgdepname") == 0) {
|
||||
/* Returns the pkgname of a dependency */
|
||||
if (argc != 2)
|
||||
usage(NULL);
|
||||
usage();
|
||||
|
||||
pkgname = xbps_pkgpattern_name(argv[1]);
|
||||
if (pkgname == NULL)
|
||||
@@ -321,7 +319,7 @@ main(int argc, char **argv)
|
||||
} else if (strcasecmp(argv[0], "getpkgdepversion") == 0) {
|
||||
/* returns the version of a package pattern dependency */
|
||||
if (argc != 2)
|
||||
usage(NULL);
|
||||
usage();
|
||||
|
||||
version = xbps_pkgpattern_version(argv[1]);
|
||||
if (version == NULL)
|
||||
@@ -332,21 +330,21 @@ main(int argc, char **argv)
|
||||
} else if (strcasecmp(argv[0], "pkgmatch") == 0) {
|
||||
/* Matches a pkg with a pattern */
|
||||
if (argc != 3)
|
||||
usage(NULL);
|
||||
usage();
|
||||
|
||||
exit(xbps_pkgpattern_match(argv[1], argv[2]));
|
||||
|
||||
} else if (strcasecmp(argv[0], "cmpver") == 0) {
|
||||
/* Compare two version strings, installed vs required */
|
||||
if (argc != 3)
|
||||
usage(NULL);
|
||||
usage();
|
||||
|
||||
exit(xbps_cmpver(argv[1], argv[2]));
|
||||
|
||||
} else if (strcasecmp(argv[0], "digest") == 0) {
|
||||
/* Prints SHA256 hashes for specified files */
|
||||
if (argc < 2)
|
||||
usage(NULL);
|
||||
usage();
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
hash = xbps_file_hash(argv[i]);
|
||||
@@ -363,7 +361,7 @@ main(int argc, char **argv)
|
||||
} else if (strcasecmp(argv[0], "fetch") == 0) {
|
||||
/* Fetch a file from specified URL */
|
||||
if (argc != 2)
|
||||
usage(&xh);
|
||||
usage();
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
rv = xbps_fetch_file(argv[i], ".", false, "v");
|
||||
@@ -378,10 +376,10 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
} else {
|
||||
usage(NULL);
|
||||
usage();
|
||||
}
|
||||
|
||||
out:
|
||||
xbps_end(&xh);
|
||||
xbps_end();
|
||||
exit(rv ? EXIT_FAILURE : EXIT_SUCCESS);
|
||||
}
|
||||
|
Reference in New Issue
Block a user