From 6cb598cc5f1c8ae6d14381c2776338584368257e Mon Sep 17 00:00:00 2001 From: Robert de Bath Date: Fri, 4 Jun 2004 20:33:25 +0200 Subject: Import Dev86src-0.16.16.tar.gz --- tests/ft.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'tests') 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) { -- cgit v1.2.1