summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorJindrich Novy <jnovy@redhat.com>2009-08-06 14:16:02 +0200
committerJindrich Novy <jnovy@redhat.com>2009-08-06 14:16:02 +0200
commitf6982a403b284012abc846d9f4e5155ad84fac35 (patch)
treed1e4807c762f4244e682a0d2e7d80960289a567a /build
parent69702c1de3e24bb44f741fbad6e961213f8db9e4 (diff)
downloadrpm-f6982a403b284012abc846d9f4e5155ad84fac35.tar.gz
rpm-f6982a403b284012abc846d9f4e5155ad84fac35.tar.bz2
rpm-f6982a403b284012abc846d9f4e5155ad84fac35.zip
Correctly inherit default %attr(-,-,-) attributes from %defattr (rhbz#515685)
Diffstat (limited to 'build')
-rw-r--r--build/files.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/build/files.c b/build/files.c
index f0c62811a..e7549c515 100644
--- a/build/files.c
+++ b/build/files.c
@@ -556,8 +556,10 @@ static rpmRC parseForAttr(const char * buf, FileList fl)
goto exit;
}
ar->ar_fmode = ui;
- } else
- ar->ar_fmodestr = NULL;
+ } else {
+ ar->ar_fmodestr = fl->def_ar.ar_fmodestr;
+ ar->ar_fmode = fl->def_ar.ar_fmode;
+ }
if (ar->ar_dmodestr && !isAttrDefault(ar->ar_dmodestr)) {
unsigned int ui;
@@ -567,14 +569,16 @@ static rpmRC parseForAttr(const char * buf, FileList fl)
goto exit;
}
ar->ar_dmode = ui;
- } else
- ar->ar_dmodestr = NULL;
+ } else {
+ ar->ar_dmodestr = fl->def_ar.ar_dmodestr;
+ ar->ar_dmode = fl->def_ar.ar_dmode;
+ }
if (!(ar->ar_user && !isAttrDefault(ar->ar_user)))
- ar->ar_user = NULL;
+ ar->ar_user = fl->def_ar.ar_user;
if (!(ar->ar_group && !isAttrDefault(ar->ar_group)))
- ar->ar_group = NULL;
+ ar->ar_group = fl->def_ar.ar_group;
dupAttrRec(ar, ret_ar);