diff options
author | Jindrich Novy <jnovy@redhat.com> | 2009-08-06 14:16:02 +0200 |
---|---|---|
committer | Jindrich Novy <jnovy@redhat.com> | 2009-08-06 14:16:02 +0200 |
commit | f6982a403b284012abc846d9f4e5155ad84fac35 (patch) | |
tree | d1e4807c762f4244e682a0d2e7d80960289a567a /build | |
parent | 69702c1de3e24bb44f741fbad6e961213f8db9e4 (diff) | |
download | rpm-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.c | 16 |
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); |