From f7912e9dc6be71b177d546da0f8d005e7b4af9e8 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 5 Jun 2007 17:34:33 -0400 Subject: Const correctness! Add some 'const' keywords all over the code to make it a bit more strict on what you can and can't do with data. This is especially important when we return pointers to the pacman frontend- ideally this would always be untouchable data. Signed-off-by: Dan McGee --- src/pacman/query.c | 4 ++-- src/pacman/remove.c | 8 ++++---- src/pacman/sync.c | 3 ++- src/pacman/util.c | 8 ++++---- src/pacman/util.h | 4 ++-- 5 files changed, 14 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/pacman/query.c b/src/pacman/query.c index 3e993bf0..3863572f 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -182,7 +182,7 @@ static int query_group(alpm_list_t *targets) if(targets == NULL) { for(j = alpm_db_getgrpcache(db_local); j; j = alpm_list_next(j)) { pmgrp_t *grp = alpm_list_getdata(j); - alpm_list_t *p, *pkgnames; + const alpm_list_t *p, *pkgnames; const char *grpname; grpname = alpm_grp_get_name(grp); @@ -197,7 +197,7 @@ static int query_group(alpm_list_t *targets) package = alpm_list_getdata(i); pmgrp_t *grp = alpm_db_readgrp(db_local, package); if(grp) { - alpm_list_t *p, *pkgnames = alpm_grp_get_pkgs(grp); + const alpm_list_t *p, *pkgnames = alpm_grp_get_pkgs(grp); for(p = pkgnames; p; p = alpm_list_next(p)) { printf("%s %s\n", package, (char *)alpm_list_getdata(p)); } diff --git a/src/pacman/remove.c b/src/pacman/remove.c index c76fc69a..9b4adce0 100644 --- a/src/pacman/remove.c +++ b/src/pacman/remove.c @@ -47,7 +47,7 @@ extern pmdb_t *db_local; */ int pacman_remove(alpm_list_t *targets) { - alpm_list_t *i, *j, *data = NULL, *finaltargs = NULL; + alpm_list_t *i, *data = NULL, *finaltargs = NULL; int retval = 0; if(targets == NULL) { @@ -61,14 +61,14 @@ int pacman_remove(alpm_list_t *targets) pmgrp_t *grp = alpm_db_readgrp(db_local, alpm_list_getdata(i)); if(grp) { int all; - alpm_list_t *pkgnames = alpm_grp_get_pkgs(grp); + const alpm_list_t *p, *pkgnames = alpm_grp_get_pkgs(grp); printf(_(":: group %s:\n"), alpm_grp_get_name(grp)); list_display(" ", pkgnames); all = yesno(_(" Remove whole content? [Y/n] ")); - for(j = pkgnames; j; j = alpm_list_next(j)) { - char *pkg = alpm_list_getdata(j); + for(p = pkgnames; p; p = alpm_list_next(p)) { + char *pkg = alpm_list_getdata(p); if(all || yesno(_(":: Remove %s from group %s? [Y/n] "), pkg, (char *)alpm_list_getdata(i))) { finaltargs = alpm_list_add(finaltargs, strdup(pkg)); } diff --git a/src/pacman/sync.c b/src/pacman/sync.c index 92a1607a..fa99797c 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -572,7 +572,8 @@ int pacman_sync(alpm_list_t *targets) found++; printf(_(":: group %s:\n"), targ); /* remove dupe entries in case a package exists in multiple repos */ - alpm_list_t *pkgs = alpm_list_remove_dupes(alpm_grp_get_pkgs(grp)); + const alpm_list_t *grppkgs = alpm_grp_get_pkgs(grp); + alpm_list_t *pkgs = alpm_list_remove_dupes(grppkgs); list_display(" ", pkgs); if(yesno(_(":: Install whole content? [Y/n] "))) { for(k = pkgs; k; k = alpm_list_next(k)) { diff --git a/src/pacman/util.c b/src/pacman/util.c index e88001ac..eda32524 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -280,9 +280,9 @@ char *strreplace(const char *str, const char *needle, const char *replace) return newstr; } -void list_display(const char *title, alpm_list_t *list) +void list_display(const char *title, const alpm_list_t *list) { - alpm_list_t *i; + const alpm_list_t *i; int cols, len; len = strlen(title); @@ -315,10 +315,10 @@ void list_display(const char *title, alpm_list_t *list) * retrieved from a transaction object */ /* TODO move to output.c? or just combine util and output */ -void display_targets(alpm_list_t *syncpkgs) +void display_targets(const alpm_list_t *syncpkgs) { char *str; - alpm_list_t *i, *j; + const alpm_list_t *i, *j; alpm_list_t *targets = NULL, *to_remove = NULL; /* TODO these are some messy variable names */ unsigned long size = 0, isize = 0, rsize = 0, dispsize = 0; diff --git a/src/pacman/util.h b/src/pacman/util.h index 80d1b02c..065f9531 100644 --- a/src/pacman/util.h +++ b/src/pacman/util.h @@ -44,8 +44,8 @@ void indentprint(const char *str, int indent); char *strtoupper(char *str); char *strtrim(char *str); char *strreplace(const char *str, const char *needle, const char *replace); -void list_display(const char *title, alpm_list_t *list); -void display_targets(alpm_list_t *syncpkgs); +void list_display(const char *title, const alpm_list_t *list); +void display_targets(const alpm_list_t *syncpkgs); int yesno(char *fmt, ...); #endif /* _PM_UTIL_H */ -- cgit v1.2.3-70-g09d2