The following commit has been merged in the master branch:
commit e62eaa93a1eb43c00aa5b9d58ca4ab975dcd53a5
Author: Guillem Jover <[email protected]>
Date: Sat Jul 17 19:12:24 2010 +0200
Use varbuf_trunc instead of directly assigning to member 'used'
diff --git a/src/archives.c b/src/archives.c
index 5430be9..2b5b87e 100644
--- a/src/archives.c
+++ b/src/archives.c
@@ -285,16 +285,16 @@ set_selinux_path_context(const char *matchpath, const
char *path, mode_t mode)
}
void setupfnamevbs(const char *filename) {
- fnamevb.used= fnameidlu;
+ varbuf_trunc(&fnamevb, fnameidlu);
varbufaddstr(&fnamevb,filename);
varbufaddc(&fnamevb,0);
- fnametmpvb.used= fnameidlu;
+ varbuf_trunc(&fnametmpvb, fnameidlu);
varbufaddstr(&fnametmpvb,filename);
varbufaddstr(&fnametmpvb,DPKGTEMPEXT);
varbufaddc(&fnametmpvb,0);
- fnamenewvb.used= fnameidlu;
+ varbuf_trunc(&fnamenewvb, fnameidlu);
varbufaddstr(&fnamenewvb,filename);
varbufaddstr(&fnamenewvb,DPKGNEWEXT);
varbufaddc(&fnamenewvb,0);
@@ -790,7 +790,8 @@ int tarobject(struct TarInfo *ti) {
if (r < 0)
ohshite(_("unable to read link `%.255s'"), ti->Name);
assert(r == stab.st_size);
- symlinkfn.used= r; varbufaddc(&symlinkfn,0);
+ varbuf_trunc(&symlinkfn, r);
+ varbufaddc(&symlinkfn, '\0');
if (symlink(symlinkfn.buf,fnametmpvb.buf))
ohshite(_("unable to make backup symlink for `%.255s'"),ti->Name);
if (lchown(fnametmpvb.buf,stab.st_uid,stab.st_gid))
diff --git a/src/configure.c b/src/configure.c
index e717cfc..8300738 100644
--- a/src/configure.c
+++ b/src/configure.c
@@ -415,7 +415,7 @@ conffderef(struct pkginfo *pkg, struct varbuf *result,
const char *in)
return -1;
}
assert(r == stab.st_size); /* XXX: debug */
- target.used = r;
+ varbuf_trunc(&target, r);
varbufaddc(&target, '\0');
debug(dbg_conffdetail,
@@ -439,7 +439,7 @@ conffderef(struct pkginfo *pkg, struct varbuf *result,
const char *in)
}
if (result->buf[r] == '/')
r++;
- result->used = r;
+ varbuf_trunc(result, r);
debug(dbg_conffdetail,
"conffderef readlink relative to '%.*s'",
(int)result->used, result->buf);
diff --git a/src/processarc.c b/src/processarc.c
index 6a177f9..d955e8a 100644
--- a/src/processarc.c
+++ b/src/processarc.c
@@ -688,7 +688,7 @@ void process_archive(const char *filename) {
usenode = namenodetouse(namenode, pkg);
trig_file_activate(usenode, pkg);
- fnamevb.used= fnameidlu;
+ varbuf_trunc(&fnamevb, fnameidlu);
varbufaddstr(&fnamevb, usenode->name);
varbufaddc(&fnamevb,0);
@@ -854,7 +854,7 @@ void process_archive(const char *filename) {
if (strlen(p) > MAXCONTROLFILENAME)
ohshit(_("old version of package has overly-long info file name starting
`%.250s'"),
de->d_name);
- infofnvb.used= infodirlen;
+ varbuf_trunc(&infofnvb, infodirlen);
varbufaddstr(&infofnvb,de->d_name);
varbufaddc(&infofnvb,0);
strcpy(cidirrest,p);
@@ -1120,7 +1120,7 @@ void process_archive(const char *filename) {
if (strlen(otherpkg->name) != (size_t)(p-de->d_name) ||
strncmp(de->d_name,otherpkg->name,p-de->d_name)) continue;
debug(dbg_stupidlyverbose, "process_archive info this pkg");
- fnvb.used= infodirbaseused;
+ varbuf_trunc(&fnvb, infodirbaseused);
varbufaddstr(&fnvb,de->d_name);
varbufaddc(&fnvb,0);
if (unlink(fnvb.buf))
@@ -1218,7 +1218,7 @@ void process_archive(const char *filename) {
*/
for (cfile= newfileslist; cfile; cfile= cfile->next) {
if (cfile->namenode->flags & fnnf_new_conff) continue;
- fnametmpvb.used= fnameidlu;
+ varbuf_trunc(&fnametmpvb, fnameidlu);
varbufaddstr(&fnametmpvb,namenodetouse(cfile->namenode,pkg)->name);
varbufaddstr(&fnametmpvb,DPKGTEMPEXT);
varbufaddc(&fnametmpvb,0);
diff --git a/src/querycmd.c b/src/querycmd.c
index 0cb54ca..d0cfe86 100644
--- a/src/querycmd.c
+++ b/src/querycmd.c
@@ -258,7 +258,8 @@ searchfiles(const char *const *argv)
varbufaddstr(&path, thisarg);
varbufaddc(&path, '\0');
- path.used = path_rtrim_slash_slashdot(path.buf);
+ varbuf_trunc(&path, path_rtrim_slash_slashdot(path.buf));
+
thisarg = path.buf;
}
@@ -528,7 +529,7 @@ control_path_pkg(struct pkginfo *pkg)
if (strlen(p) > MAXCONTROLFILENAME)
continue;
- db_path.used = db_path_len;
+ varbuf_trunc(&db_path, db_path_len);
varbufaddstr(&db_path, db_de->d_name);
varbufaddc(&db_path, '\0');
diff --git a/src/remove.c b/src/remove.c
index 571e1b0..2508ba9 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -66,7 +66,9 @@ static void checkforremoval(struct pkginfo *pkgtoremove,
before= raemsgs->used;
ok= dependencies_ok(depender,pkgtoremove,raemsgs);
if (ok == 0 && depender->clientdata->istobe == itb_remove) ok= 1;
- if (ok == 1) raemsgs->used= before; /* Don't burble about reasons for
deferral */
+ if (ok == 1)
+ /* Don't burble about reasons for deferral. */
+ varbuf_trunc(raemsgs, before);
if (ok < *rokp) *rokp= ok;
}
}
@@ -221,13 +223,13 @@ static void removal_bulk_remove_files(
ensure_pathname_nonexisting(fnvb.buf);
- fnvb.used= before;
+ varbuf_trunc(&fnvb, before);
varbufaddstr(&fnvb,DPKGNEWEXT);
varbufaddc(&fnvb,0);
debug(dbg_eachfiledetail, "removal_bulk cleaning new `%s'", fnvb.buf);
ensure_pathname_nonexisting(fnvb.buf);
- fnvb.used= before;
+ varbuf_trunc(&fnvb, before);
varbufaddc(&fnvb,0);
if (!stat(fnvb.buf,&stab) && S_ISDIR(stab.st_mode)) {
debug(dbg_eachfiledetail, "removal_bulk is a directory");
@@ -289,7 +291,7 @@ static void removal_bulk_remove_files(
continue;
}
debug(dbg_stupidlyverbose, "removal_bulk info not postrm or list");
- fnvb.used= infodirbaseused;
+ varbuf_trunc(&fnvb, infodirbaseused);
varbufaddstr(&fnvb,de->d_name);
varbufaddc(&fnvb,0);
if (unlink(fnvb.buf))
@@ -483,7 +485,7 @@ static void removal_bulk_remove_configfiles(struct pkginfo
*pkg) {
debug(dbg_stupidlyverbose, "removal_bulk conffile dsd entry not it");
continue;
yes_remove:
- removevb.used= removevbbase;
+ varbuf_trunc(&removevb, removevbbase);
varbufaddstr(&removevb,de->d_name); varbufaddc(&removevb,0);
debug(dbg_conffdetail, "removal_bulk conffile dsd entry removing `%s'",
removevb.buf);
@@ -563,7 +565,7 @@ void removal_bulk(struct pkginfo *pkg) {
debug(dbg_general, "removal_bulk purge done, removing list `%s'",fnvb.buf);
if (unlink(fnvb.buf) && errno != ENOENT) ohshite(_("cannot remove old
files list"));
- fnvb.used= pkgnameused;
+ varbuf_trunc(&fnvb, pkgnameused);
varbufaddstr(&fnvb,"." POSTRMFILE);
varbufaddc(&fnvb,0);
debug(dbg_general, "removal_bulk purge done, removing postrm
`%s'",fnvb.buf);
--
dpkg's main repository
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]