summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRobert de Bath <rdebath@poboxes.com>2004-06-04 20:33:25 +0200
committerLubomir Rintel <lkundrak@v3.sk>2013-10-23 23:48:49 +0200
commit6cb598cc5f1c8ae6d14381c2776338584368257e (patch)
tree9e0de9772314990061ca96735910ea5db8d4e778 /tests
parentbeba34dc223aa0dcf3e5f696966c5e8408b022c3 (diff)
downloaddev86-6cb598cc5f1c8ae6d14381c2776338584368257e.tar.gz
Import Dev86src-0.16.16.tar.gzv0.16.16
Diffstat (limited to 'tests')
-rw-r--r--tests/ft.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/tests/ft.c b/tests/ft.c
index bce51c5..7acc557 100644
--- a/tests/ft.c
+++ b/tests/ft.c
@@ -722,13 +722,15 @@ static int last_uid=-1, last_gid=-1, last_mode=-1;
if( (cur_file_stat.st_mode&07777) != (last_mode&07777) )
printf(":%03o", cur_file_stat.st_mode & 07777);
- major = (cur_file_stat.st_rdev >> 8);
- minor = (cur_file_stat.st_rdev&0xFF);
#ifdef __linux__
- major &= 0xFFF;
- minor |= ((cur_file_stat.st_rdev&0xFF000000)>>12);
+ major = ((cur_file_stat.st_rdev >> 8) & 0xfff);
+ if (sizeof(cur_file_stat.st_rdev) > 4)
+ major |= ((cur_file_stat.st_rdev >> 32) & ~0xfff);
+ minor = (cur_file_stat.st_rdev & 0xff) |
+ ((cur_file_stat.st_rdev >> 12) & ~0xff);
#else
- major &= 0xFF;
+ major = ((cur_file_stat.st_rdev >> 8) & 0xFF);
+ minor = (cur_file_stat.st_rdev&0xFF);
#endif
switch(cur_file_stat.st_mode & S_IFMT)
{