Simplify xbps_end() and don't continue if xbps_init() did not succeed.

This commit is contained in:
Juan RP
2012-01-17 16:56:17 +01:00
parent f2b05d6438
commit d0e1477eeb
6 changed files with 75 additions and 86 deletions

View File

@@ -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);
}