diff options
-rw-r--r-- | .depend | 9 | ||||
-rw-r--r-- | libq/libq.c | 2 | ||||
-rw-r--r-- | libq/virtuals.c | 20 | ||||
-rw-r--r-- | libq/xchdir.c | 16 | ||||
-rw-r--r-- | main.c | 12 | ||||
-rw-r--r-- | qcheck.c | 13 | ||||
-rw-r--r-- | qdepends.c | 22 | ||||
-rw-r--r-- | qfile.c | 26 | ||||
-rw-r--r-- | qglsa.c | 10 | ||||
-rw-r--r-- | qgrep.c | 13 | ||||
-rw-r--r-- | qlist.c | 13 | ||||
-rw-r--r-- | qmerge.c | 35 | ||||
-rw-r--r-- | qpkg.c | 7 | ||||
-rw-r--r-- | qsize.c | 13 | ||||
-rw-r--r-- | qxpak.c | 7 |
15 files changed, 105 insertions, 113 deletions
@@ -1,7 +1,8 @@ main.o: main.c main.h libq/libq.c libq/busybox.h libq/i18n.h libq/libq.h \ libq/colors.c libq/xmalloc.c libq/xstrdup.c libq/xasprintf.c \ libq/hash_fd.c libq/md5_sha1_sum.c libq/human_readable.c libq/rmspace.c \ - libq/which.c libq/compat.c libq/atom_explode.c libq/atom_compare.c \ - libq/vdb_get_next_dir.c libq/virtuals.c applets.h include_applets.h q.c \ - qcheck.c qdepends.c qfile.c qlist.c qlop.c qsearch.c qsize.c qtbz2.c \ - quse.c qxpak.c qpkg.c qgrep.c qatom.c qmerge.c qcache.c qglsa.c + libq/which.c libq/compat.c libq/xchdir.c libq/atom_explode.c \ + libq/atom_compare.c libq/vdb_get_next_dir.c libq/virtuals.c applets.h \ + include_applets.h q.c qcheck.c qdepends.c qfile.c qlist.c qlop.c \ + qsearch.c qsize.c qtbz2.c quse.c qxpak.c qpkg.c qgrep.c qatom.c qmerge.c \ + qcache.c qglsa.c diff --git a/libq/libq.c b/libq/libq.c index 0b6d06c..fd7c8b2 100644 --- a/libq/libq.c +++ b/libq/libq.c @@ -20,6 +20,8 @@ #include "which.c" #include "compat.c" +#include "xchdir.c" + /* custom libs */ #include "atom_explode.c" #include "atom_compare.c" diff --git a/libq/virtuals.c b/libq/virtuals.c index 82ea9c4..0fc3d9e 100644 --- a/libq/virtuals.c +++ b/libq/virtuals.c @@ -1,12 +1,12 @@ /* * Copyright 2005-2007 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/libq/virtuals.c,v 1.19 2007/05/24 14:47:19 solar Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/libq/virtuals.c,v 1.20 2010/01/13 18:17:26 vapier Exp $ * * Copyright 2005-2007 Ned Ludd - <solar@gentoo.org> * Copyright 2005-2007 Mike Frysinger - <vapier@gentoo.org> * - * $Header: /var/cvsroot/gentoo-projects/portage-utils/libq/virtuals.c,v 1.19 2007/05/24 14:47:19 solar Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/libq/virtuals.c,v 1.20 2010/01/13 18:17:26 vapier Exp $ */ #include <stdio.h> @@ -155,7 +155,7 @@ queue *resolve_vdb_virtuals(char *vdb) char buf[BUFSIZE]; depend_atom *atom; - chdir("/"); + xchdir("/"); /* now try to run through vdb and locate matches for user inputs */ if ((dir = opendir(vdb)) == NULL) @@ -252,11 +252,11 @@ static queue *resolve_virtuals() virtuals = resolve_local_profile_virtuals(); virtuals = resolve_vdb_virtuals(portvdb); - if ((chdir("/etc/")) == (-1)) + if (chdir("/etc/") == -1) return virtuals; - if ((readlink("make.profile", buf, sizeof(buf))) != (-1)) { - chdir(buf); + if (readlink("make.profile", buf, sizeof(buf)) != -1) { + xchdir(buf); getcwd(buf, sizeof(buf)); if (access(buf, R_OK) != 0) return virtuals; @@ -280,16 +280,16 @@ static queue *resolve_virtuals() if (*buf == '#') continue; if (isspace(*buf)) continue; fclose(fp); - if ((chdir(buf)) == (-1)) { + if (chdir(buf) == -1) { fclose(fp); - chdir(savecwd); - return virtuals; + goto done; } goto vstart; } fclose(fp); } } - chdir(savecwd); + done: + xchdir(savecwd); return virtuals; } diff --git a/libq/xchdir.c b/libq/xchdir.c new file mode 100644 index 0000000..ec694ab --- /dev/null +++ b/libq/xchdir.c @@ -0,0 +1,16 @@ +/* + * utility funcs + * + * Copyright 2005-2010 Gentoo Foundation + * Distributed under the terms of the GNU General Public License v2 + * $Header: /var/cvsroot/gentoo-projects/portage-utils/libq/xchdir.c,v 1.1 2010/01/13 18:17:26 vapier Exp $ + */ + +#include <unistd.h> + +void xchdir(const char *path); +void xchdir(const char *path) +{ + if (chdir(path)) + errp("chdir(%s) failed", path); +} @@ -1,7 +1,7 @@ /* * Copyright 2005-2008 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/main.c,v 1.166 2010/01/13 06:12:38 solar Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/main.c,v 1.167 2010/01/13 18:17:23 vapier Exp $ * * Copyright 2005-2008 Ned Ludd - <solar@gentoo.org> * Copyright 2005-2008 Mike Frysinger - <vapier@gentoo.org> @@ -758,7 +758,7 @@ ret: void reinitialize_ebuild_flat(void) { - if ((chdir(portdir)) != 0) { + if (chdir(portdir) != 0) { warnp("chdir to PORTDIR '%s' failed", portdir); return; } @@ -933,7 +933,7 @@ queue *get_vdb_atoms(int fullcpv) getcwd(savecwd, sizeof(savecwd)); - assert(chdir(savecwd) == 0); + xchdir(savecwd); if (chdir(portroot) != 0) goto fuckit; @@ -952,7 +952,7 @@ queue *get_vdb_atoms(int fullcpv) if (chdir(cat[j]->d_name) != 0) continue; if ((dfd = scandir(".", &pf, filter_hidden, alphasort)) < 0) { - chdir(".."); + xchdir(".."); continue; } for (i = 0; i < dfd; i++) { @@ -983,7 +983,7 @@ queue *get_vdb_atoms(int fullcpv) atom_implode(atom); cpf = add_set(buf, slot, cpf); } - chdir(".."); + xchdir(".."); while (dfd--) free(pf[dfd]); free(pf); } @@ -993,7 +993,7 @@ queue *get_vdb_atoms(int fullcpv) free(cat); fuckit: - assert(chdir(savecwd) == 0); + xchdir(savecwd); return cpf; } @@ -1,7 +1,7 @@ /* * Copyright 2005-2007 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/qcheck.c,v 1.41 2010/01/13 18:07:14 vapier Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/qcheck.c,v 1.42 2010/01/13 18:17:23 vapier Exp $ * * Copyright 2005-2007 Ned Ludd - <solar@gentoo.org> * Copyright 2005-2007 Mike Frysinger - <vapier@gentoo.org> @@ -30,7 +30,7 @@ static const char *qcheck_opts_help[] = { "Only print pkgs containing bad files excluding /etc.", COMMON_OPTS_HELP }; -static const char qcheck_rcsid[] = "$Id: qcheck.c,v 1.41 2010/01/13 18:07:14 vapier Exp $"; +static const char qcheck_rcsid[] = "$Id: qcheck.c,v 1.42 2010/01/13 18:17:23 vapier Exp $"; #define qcheck_usage(ret) usage(ret, QCHECK_FLAGS, qcheck_long_opts, qcheck_opts_help, lookup_applet_idx("qcheck")) short bad_only = 0; @@ -69,10 +69,9 @@ int qcheck_main(int argc, char **argv) if ((argc == optind) && !search_all) qcheck_usage(EXIT_FAILURE); - if (chdir(portroot)) - errp("could not chdir(%s) for ROOT", portroot); - - if (chdir(portvdb) != 0 || (dir = opendir(".")) == NULL) + xchdir(portroot); + xchdir(portvdb); + if ((dir = opendir(".")) == NULL) return EXIT_FAILURE; /* open /var/db/pkg */ @@ -300,7 +299,7 @@ int qcheck_main(int argc, char **argv) qcprintf("\n"); } closedir(dirp); - chdir(".."); + xchdir(".."); } return EXIT_SUCCESS; @@ -1,7 +1,7 @@ /* * Copyright 2005-2007 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/qdepends.c,v 1.48 2009/08/29 19:43:14 solar Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/qdepends.c,v 1.49 2010/01/13 18:17:23 vapier Exp $ * * Copyright 2005-2007 Ned Ludd - <solar@gentoo.org> * Copyright 2005-2007 Mike Frysinger - <vapier@gentoo.org> @@ -30,7 +30,7 @@ static const char *qdepends_opts_help[] = { "Show all DEPEND info", COMMON_OPTS_HELP }; -static const char qdepends_rcsid[] = "$Id: qdepends.c,v 1.48 2009/08/29 19:43:14 solar Exp $"; +static const char qdepends_rcsid[] = "$Id: qdepends.c,v 1.49 2010/01/13 18:17:23 vapier Exp $"; #define qdepends_usage(ret) usage(ret, QDEPENDS_FLAGS, qdepends_long_opts, qdepends_opts_help, lookup_applet_idx("qdepends")) static char qdep_name_only = 0; @@ -355,10 +355,9 @@ int qdepends_main_vdb(const char *depend_file, int argc, char **argv) dep_node *dep_tree; struct stat st; - if (chdir(portroot)) - errp("could not chdir(%s) for ROOT", portroot); - - if (chdir(portvdb) != 0 || (dir = opendir(".")) == NULL) + xchdir(portroot); + xchdir(portvdb); + if ((dir = opendir(".")) == NULL) return EXIT_FAILURE; /* open /var/db/pkg */ @@ -451,7 +450,7 @@ int qdepends_main_vdb(const char *depend_file, int argc, char **argv) dep_burn_tree(dep_tree); } closedir(dirp); - chdir(".."); + xchdir(".."); } return EXIT_SUCCESS; @@ -467,10 +466,9 @@ int qdepends_vdb_deep(const char *depend_file, const char *query) char depend[16384], use[8192]; dep_node *dep_tree; - if (chdir(portroot)) - errp("could not chdir(%s) for ROOT", portroot); - - if (chdir(portvdb) != 0 || (dir = opendir(".")) == NULL) + xchdir(portroot); + xchdir(portvdb); + if ((dir = opendir(".")) == NULL) return EXIT_FAILURE; /* open /var/db/pkg */ @@ -539,7 +537,7 @@ int qdepends_vdb_deep(const char *depend_file, const char *query) dep_burn_tree(dep_tree); } closedir(dirp); - chdir(".."); + xchdir(".."); } return EXIT_SUCCESS; @@ -1,7 +1,7 @@ /* * Copyright 2005-2007 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/qfile.c,v 1.46 2009/10/18 17:28:30 solar Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/qfile.c,v 1.47 2010/01/13 18:17:23 vapier Exp $ * * Copyright 2005-2007 Ned Ludd - <solar@gentoo.org> * Copyright 2005-2007 Mike Frysinger - <vapier@gentoo.org> @@ -34,7 +34,7 @@ static const char *qfile_opts_help[] = { "Display installed packages with slots", COMMON_OPTS_HELP }; -static char qfile_rcsid[] = "$Id: qfile.c,v 1.46 2009/10/18 17:28:30 solar Exp $"; +static char qfile_rcsid[] = "$Id: qfile.c,v 1.47 2010/01/13 18:17:23 vapier Exp $"; #define qfile_usage(ret) usage(ret, QFILE_FLAGS, qfile_long_opts, qfile_opts_help, lookup_applet_idx("qfile")) #define qfile_is_prefix(path, prefix, prefix_length) \ @@ -78,7 +78,8 @@ void qfile(char *path, const char *root, qfile_args_t *args) char *bn_firstchars = args->bn_firstchars; short *non_orphans = args->non_orphans; - if (chdir(path) != 0 || (dir = opendir(".")) == NULL) + xchdir(path); + if ((dir = opendir(".")) == NULL) return; while ((dentry = readdir(dir))) { @@ -558,15 +559,8 @@ int qfile_main(int argc, char **argv) if ((args_file == NULL) && (max_args != QFILE_DEFAULT_MAX_ARGS)) warn("--max-args is only used when reading arguments from a file (with -f)"); - if (chdir(portroot)) { - warnp("could not chdir(%s) for ROOT", portroot); - goto exit; - } - - if (chdir(portvdb) != 0) { - warnp("could not chdir(ROOT/%s) for installed packages database", portvdb); - goto exit; - } + xchdir(portroot); + xchdir(portvdb); /* Get a copy of $ROOT, with no trailing slash * (this one is just for qfile(...) output) @@ -615,10 +609,10 @@ int qfile_main(int argc, char **argv) if (nb_of_queries < 0) goto exit; - if (chdir(portroot) - || chdir(portvdb) != 0 - || (dir = opendir(".")) == NULL) { - warnp("could not chdir(ROOT/%s) for installed packages database", portvdb); + xchdir(portroot); + xchdir(portvdb); + if ((dir = opendir(".")) == NULL) { + warnp("could not read(ROOT/%s) for installed packages database", portvdb); goto exit; } @@ -1,7 +1,7 @@ /* * Copyright 2005-2007 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/qglsa.c,v 1.10 2007/11/24 08:53:35 solar Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/qglsa.c,v 1.11 2010/01/13 18:17:23 vapier Exp $ * * Copyright 2005-2007 Ned Ludd - <solar@gentoo.org> * Copyright 2005-2007 Mike Frysinger - <vapier@gentoo.org> @@ -30,7 +30,7 @@ static const char *qglsa_opts_help[] = { "Mark specified GLSAs as fixed", COMMON_OPTS_HELP }; -static const char qglsa_rcsid[] = "$Id: qglsa.c,v 1.10 2007/11/24 08:53:35 solar Exp $"; +static const char qglsa_rcsid[] = "$Id: qglsa.c,v 1.11 2010/01/13 18:17:23 vapier Exp $"; #define qglsa_usage(ret) usage(ret, QGLSA_FLAGS, qglsa_long_opts, qglsa_opts_help, lookup_applet_idx("qglsa")) static char *qglsa_load_list(void); @@ -200,10 +200,8 @@ int qglsa_main(int argc, char **argv) } glsa_fixed_list = qglsa_load_list(); - if (chdir(portdir) != 0) - errp("could not chdir to portdir %s", portdir); - if (chdir("./metadata/glsa") != 0) - errp("could not chdir to glsa dir"); + xchdir(portdir); + xchdir("./metadata/glsa"); switch (action) { /*case GLSA_FIX:*/ @@ -1,7 +1,7 @@ /* * Copyright 2005-2007 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/qgrep.c,v 1.25 2007/05/24 14:47:18 solar Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/qgrep.c,v 1.26 2010/01/13 18:17:23 vapier Exp $ * * Copyright 2005-2007 Ned Ludd - <solar@gentoo.org> * Copyright 2005-2007 Mike Frysinger - <vapier@gentoo.org> @@ -47,7 +47,7 @@ static const char *qgrep_opts_help[] = { "Print <arg> lines of trailing context", COMMON_OPTS_HELP }; -static const char qgrep_rcsid[] = "$Id: qgrep.c,v 1.25 2007/05/24 14:47:18 solar Exp $"; +static const char qgrep_rcsid[] = "$Id: qgrep.c,v 1.26 2010/01/13 18:17:23 vapier Exp $"; #define qgrep_usage(ret) usage(ret, QGREP_FLAGS, qgrep_long_opts, qgrep_opts_help, lookup_applet_idx("qgrep")) char qgrep_name_match(const char*, const int, depend_atom**); @@ -388,15 +388,12 @@ int qgrep_main(int argc, char **argv) if ((fp = fopen(CACHE_EBUILD_FILE, "r")) == NULL) return 1; } else if (do_eclass) { - if ((chdir(portdir)) != 0) - errp("chdir to PORTDIR '%s' failed", portdir); + xchdir(portdir); if ((eclass_dir = opendir("eclass")) == NULL) errp("opendir(\"%s/eclass\") failed", portdir); } else { /* if (do_install) */ - if (chdir(portroot) != 0) - errp("could not chdir(%s) for ROOT", portroot); - if (chdir(portvdb) != 0) - errp("could not chdir(%s/%s) for ROOT/VDB", portroot, portvdb); + xchdir(portroot); + xchdir(portvdb); if ((vdb_dir = opendir(".")) == NULL) errp("could not opendir(%s/%s) for ROOT/VDB", portroot, portvdb); } @@ -1,7 +1,7 @@ /* * Copyright 2005-2007 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/qlist.c,v 1.53 2010/01/13 18:07:14 vapier Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/qlist.c,v 1.54 2010/01/13 18:17:23 vapier Exp $ * * Copyright 2005-2007 Ned Ludd - <solar@gentoo.org> * Copyright 2005-2007 Mike Frysinger - <vapier@gentoo.org> @@ -39,7 +39,7 @@ static const char *qlist_opts_help[] = { /* "query filename for pkgname", */ COMMON_OPTS_HELP }; -static const char qlist_rcsid[] = "$Id: qlist.c,v 1.53 2010/01/13 18:07:14 vapier Exp $"; +static const char qlist_rcsid[] = "$Id: qlist.c,v 1.54 2010/01/13 18:17:23 vapier Exp $"; #define qlist_usage(ret) usage(ret, QLIST_FLAGS, qlist_long_opts, qlist_opts_help, lookup_applet_idx("qlist")) extern char *grab_vdb_item(const char *, const char *, const char *); @@ -176,11 +176,8 @@ int qlist_main(int argc, char **argv) if ((argc == optind) && (!just_pkgname)) qlist_usage(EXIT_FAILURE); - if (chdir(portroot)) - errp("could not chdir(%s) for ROOT", portroot); - - if (chdir(portvdb) != 0) - return EXIT_FAILURE; + xchdir(portroot); + xchdir(portvdb); if ((dfd = scandir(".", &cat, filter_hidden, alphasort)) < 0) return EXIT_FAILURE; @@ -314,7 +311,7 @@ int qlist_main(int argc, char **argv) } while (a--) free(de[a]); free(de); - chdir(".."); + xchdir(".."); } if (dups_only) { @@ -1,7 +1,7 @@ /* * Copyright 2005-2007 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/qmerge.c,v 1.87 2010/01/13 18:07:14 vapier Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/qmerge.c,v 1.88 2010/01/13 18:17:23 vapier Exp $ * * Copyright 2005-2007 Ned Ludd - <solar@gentoo.org> * Copyright 2005-2007 Mike Frysinger - <vapier@gentoo.org> @@ -55,7 +55,7 @@ static const char *qmerge_opts_help[] = { COMMON_OPTS_HELP }; -static const char qmerge_rcsid[] = "$Id: qmerge.c,v 1.87 2010/01/13 18:07:14 vapier Exp $"; +static const char qmerge_rcsid[] = "$Id: qmerge.c,v 1.88 2010/01/13 18:17:23 vapier Exp $"; #define qmerge_usage(ret) usage(ret, QMERGE_FLAGS, qmerge_long_opts, qmerge_opts_help, lookup_applet_idx("qmerge")) char search_pkgs = 0; @@ -223,10 +223,8 @@ void qmerge_initialize(const char *Packages) mkdir(port_tmpdir, 0755); } - if (chdir(port_tmpdir) != 0) - errfp("!!! chdir(PORTAGE_TMPDIR %s)", port_tmpdir); - if (chdir("portage") != 0) - errfp("!!! chdir(%s/portage)", port_tmpdir); + xchdir(port_tmpdir); + xchdir("portage"); if (force_download && force_download != 2) unlink(Packages); @@ -527,13 +525,11 @@ void pkg_merge(int level, depend_atom *atom, struct pkg_t *pkg) if (pretend) return; - if (chdir(port_tmpdir) != 0) - errfp("!!! chdir(port_tmpdir %s)", port_tmpdir); + xchdir(port_tmpdir); mkdir(pkg->PF, 0755); /* mkdir(pkg->PF, 0710); */ - if (chdir(pkg->PF) != 0) - errfp("!!! chdir(PF %s)", pkg->PF); + xchdir(pkg->PF); system(BUSYBOX " rm -rf ./*"); /* this line does funny things to nano's highlighting. */ @@ -605,7 +601,7 @@ void pkg_merge(int level, depend_atom *atom, struct pkg_t *pkg) freeargv(ARGC, ARGV); ARGC = 0; ARGV = NULL; } - assert(chdir("image") == 0); + xchdir("image"); if (stat("./", &st) == (-1)) err("Cant stat pwd"); @@ -740,8 +736,7 @@ void pkg_merge(int level, depend_atom *atom, struct pkg_t *pkg) if (tmp[0] != '/') errf("sym does not start with /"); getcwd(pwd, sizeof(pwd)); - if (chdir(dirname(tmp)) != 0) /* tmp gets eatten up now by the dirname call */ - errfp("chdir to symbolic dirname %s", tmp); + xchdir(dirname(tmp)); /* tmp gets eatten up now by the dirname call */ if (lstat(path, &lst) != (-1)) unlink_q(dest); /* if (path[0] != '/') @@ -750,7 +745,7 @@ void pkg_merge(int level, depend_atom *atom, struct pkg_t *pkg) if ((symlink(path, dest)) != 0) if (errno != EEXIST) warnp("symlink failed %s -> %s", path, &buf[1]); - chdir(pwd); + xchdir(pwd); } /* Save the line to the contents file */ if (*line) fprintf(contents, "%s\n", line); @@ -765,10 +760,8 @@ void pkg_merge(int level, depend_atom *atom, struct pkg_t *pkg) fclose(contents); pclose(fp); - if (chdir(port_tmpdir) != 0) - errfp("!!! chdir(%s)", port_tmpdir); - if (chdir(pkg->PF) != 0) - errfp("!!! chdir(%s)", pkg->PF); + xchdir(port_tmpdir); + xchdir(pkg->PF); snprintf(buf, sizeof(buf), "%s/var/db/pkg/%s/", portroot, pkg->CATEGORY); if (access(buf, R_OK|W_OK|X_OK) != 0) @@ -799,7 +792,7 @@ void pkg_merge(int level, depend_atom *atom, struct pkg_t *pkg) snprintf(buf, sizeof(buf), BUSYBOX " %s.tar.bz2", pkg->PF); unlink_q(buf); - chdir(port_tmpdir); + xchdir(port_tmpdir); snprintf(buf, sizeof(buf), "rm -rf %s", pkg->PF); system(buf); @@ -1097,14 +1090,14 @@ void pkg_fetch(int level, depend_atom *atom, struct pkg_t *pkg) return; } getcwd(savecwd, sizeof(savecwd)); - assert(chdir(pkgdir) == 0); + xchdir(pkgdir); if (chdir("All/") == 0) { snprintf(buf, sizeof(buf), "%s.tbz2", pkg->PF); snprintf(str, sizeof(str), "../%s/%s.tbz2", atom->CATEGORY, pkg->PF); unlink(buf); symlink(str, buf); } - chdir(savecwd); + xchdir(savecwd); snprintf(buf, sizeof(buf), "%s/%s/%s.tbz2", pkgdir, atom->CATEGORY, pkg->PF); if ((pkg_verify_checksums(buf, pkg, atom, qmerge_strict, 1)) == 0) { @@ -1,7 +1,7 @@ /* * Copyright 2005-2007 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/qpkg.c,v 1.27 2009/08/23 06:06:49 solar Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/qpkg.c,v 1.28 2010/01/13 18:17:23 vapier Exp $ * * Copyright 2005-2007 Ned Ludd - <solar@gentoo.org> * Copyright 2005-2007 Mike Frysinger - <vapier@gentoo.org> @@ -24,7 +24,7 @@ static const char *qpkg_opts_help[] = { "alternate package directory", COMMON_OPTS_HELP }; -static const char qpkg_rcsid[] = "$Id: qpkg.c,v 1.27 2009/08/23 06:06:49 solar Exp $"; +static const char qpkg_rcsid[] = "$Id: qpkg.c,v 1.28 2010/01/13 18:17:23 vapier Exp $"; #define qpkg_usage(ret) usage(ret, QPKG_FLAGS, qpkg_long_opts, qpkg_opts_help, lookup_applet_idx("qpkg")) extern char pretend; @@ -316,8 +316,7 @@ int qpkg_main(int argc, char **argv) if (argc == optind) qpkg_usage(EXIT_FAILURE); - if (chdir(portroot)) - errp("could not chdir(%s) for ROOT", portroot); + xchdir(portroot); /* setup temp dirs */ i = 0; @@ -1,7 +1,7 @@ /* * Copyright 2005-2007 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/qsize.c,v 1.32 2009/09/26 21:02:01 grobian Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/qsize.c,v 1.33 2010/01/13 18:17:23 vapier Exp $ * * Copyright 2005-2007 Ned Ludd - <solar@gentoo.org> * Copyright 2005-2007 Mike Frysinger - <vapier@gentoo.org> @@ -32,7 +32,7 @@ static const char *qsize_opts_help[] = { "Ignore regexp string", COMMON_OPTS_HELP }; -static const char qsize_rcsid[] = "$Id: qsize.c,v 1.32 2009/09/26 21:02:01 grobian Exp $"; +static const char qsize_rcsid[] = "$Id: qsize.c,v 1.33 2010/01/13 18:17:23 vapier Exp $"; #define qsize_usage(ret) usage(ret, QSIZE_FLAGS, qsize_long_opts, qsize_opts_help, lookup_applet_idx("qsize")) int qsize_main(int argc, char **argv) @@ -70,10 +70,9 @@ int qsize_main(int argc, char **argv) if ((argc == optind) && !search_all) qsize_usage(EXIT_FAILURE); - if (chdir(portroot)) - errp("could not chdir(%s) for ROOT", portroot); - - if (chdir(portvdb) != 0 || (dir = opendir(".")) == NULL) + xchdir(portroot); + xchdir(portvdb); + if ((dir = opendir(".")) == NULL) return EXIT_FAILURE; num_all_bytes = num_all_files = num_all_nonfiles = num_all_ignored = 0; @@ -161,7 +160,7 @@ int qsize_main(int argc, char **argv) } } closedir(dirp); - chdir(".."); + xchdir(".."); } if (summary) { @@ -1,7 +1,7 @@ /* * Copyright 2005-2007 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/qxpak.c,v 1.18 2010/01/13 17:49:34 vapier Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/qxpak.c,v 1.19 2010/01/13 18:17:23 vapier Exp $ * * Copyright 2005-2007 Ned Ludd - <solar@gentoo.org> * Copyright 2005-2007 Mike Frysinger - <vapier@gentoo.org> @@ -46,7 +46,7 @@ static const char *qxpak_opts_help[] = { "Write files to stdout", COMMON_OPTS_HELP }; -static const char qxpak_rcsid[] = "$Id: qxpak.c,v 1.18 2010/01/13 17:49:34 vapier Exp $"; +static const char qxpak_rcsid[] = "$Id: qxpak.c,v 1.19 2010/01/13 18:17:23 vapier Exp $"; #define qxpak_usage(ret) usage(ret, QXPAK_FLAGS, qxpak_long_opts, qxpak_opts_help, lookup_applet_idx("qxpak")) typedef struct { @@ -128,8 +128,7 @@ _xpak_archive *_xpak_open(const char *file) /* clean up before returning */ if (xpak_chdir) - if (chdir(xpak_chdir) != 0) - err("Could not chdir to '%s'", xpak_chdir); + xchdir(xpak_chdir); return &ret; |