summaryrefslogtreecommitdiff
path: root/src/journal/sd-journal.c
diff options
context:
space:
mode:
authorHarald Hoyer <harald@redhat.com>2013-04-17 18:03:39 +0200
committerHarald Hoyer <harald@redhat.com>2013-04-17 18:14:25 +0200
commit8c68a70170b31f93c287f29fd06c6c17edaf19ad (patch)
tree0cde44b88db55795d242dde12d9e5c725d173486 /src/journal/sd-journal.c
parent90cf049bfe9a7dcb20a1bd0d12e8b2194dbcd357 (diff)
fixed statfs.f_type signed vs unsigned comparisons
statfs.f_type is signed but the filesystem magics are unsigned. Casting the magics to signed will not make the signed. Problem seen on big-endian 64bit s390x with __fsword_t 8 bytes. Casting statfs.f_type to unsigned on the other hand will get us what we need. https://bugzilla.redhat.com/show_bug.cgi?id=953217
Diffstat (limited to 'src/journal/sd-journal.c')
-rw-r--r--src/journal/sd-journal.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c
index cc11ad9b56..ba6c1cd30f 100644
--- a/src/journal/sd-journal.c
+++ b/src/journal/sd-journal.c
@@ -1248,11 +1248,11 @@ static void check_network(sd_journal *j, int fd) {
return;
j->on_network =
- (long)sfs.f_type == (long)CIFS_MAGIC_NUMBER ||
- sfs.f_type == CODA_SUPER_MAGIC ||
- sfs.f_type == NCP_SUPER_MAGIC ||
- sfs.f_type == NFS_SUPER_MAGIC ||
- sfs.f_type == SMB_SUPER_MAGIC;
+ (unsigned) sfs.f_type == CIFS_MAGIC_NUMBER ||
+ (unsigned) sfs.f_type == CODA_SUPER_MAGIC ||
+ (unsigned) sfs.f_type == NCP_SUPER_MAGIC ||
+ (unsigned) sfs.f_type == NFS_SUPER_MAGIC ||
+ (unsigned) sfs.f_type == SMB_SUPER_MAGIC;
}
static int add_file(sd_journal *j, const char *prefix, const char *filename) {