aboutsummaryrefslogtreecommitdiff
path: root/sbin/dump
diff options
context:
space:
mode:
authorAlexander Kabaev <kan@FreeBSD.org>2004-07-28 05:59:22 +0000
committerAlexander Kabaev <kan@FreeBSD.org>2004-07-28 05:59:22 +0000
commit8518a74a8f1a532d3b7e0e3616bea24303493f88 (patch)
tree272e3b86ec9bd86b7274f5c717e3ce1f3bf7ced0 /sbin/dump
parentbcd5ceac5944c4c00608ebcb1f49f7b1e8e3eaac (diff)
downloadsrc-8518a74a8f1a532d3b7e0e3616bea24303493f88.tar.gz
src-8518a74a8f1a532d3b7e0e3616bea24303493f88.zip
Avoid casts as lvalues.
Notes
Notes: svn path=/head/; revision=132762
Diffstat (limited to 'sbin/dump')
-rw-r--r--sbin/dump/traverse.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sbin/dump/traverse.c b/sbin/dump/traverse.c
index 332bc273e52c..08e5e23e04c2 100644
--- a/sbin/dump/traverse.c
+++ b/sbin/dump/traverse.c
@@ -63,6 +63,12 @@ union dinode {
#define DIP(dp, field) \
((sblock->fs_magic == FS_UFS1_MAGIC) ? \
(dp)->dp1.field : (dp)->dp2.field)
+#define DIP_SET(dp, field, val) do {\
+ if (sblock->fs_magic == FS_UFS1_MAGIC) \
+ (dp)->dp1.field = (val); \
+ else \
+ (dp)->dp2.field = (val); \
+ } while (0)
#define HASDUMPEDFILE 0x1
#define HASSUBDIRS 0x2
@@ -446,8 +452,8 @@ dumpino(union dinode *dp, ino_t ino)
* as a zero length file.
*/
if ((DIP(dp, di_flags) & SF_SNAPSHOT) != 0) {
- DIP(dp, di_size) = 0;
- DIP(dp, di_flags) &= ~SF_SNAPSHOT;
+ DIP_SET(dp, di_size, 0);
+ DIP_SET(dp, di_flags, DIP(dp, di_flags) & ~SF_SNAPSHOT);
}
if (sblock->fs_magic == FS_UFS1_MAGIC) {
spcl.c_mode = dp->dp1.di_mode;