Date: Sun, 8 Jul 2007 08:03:57 GMT From: Brian Chu <chub@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 123096 for review Message-ID: <200707080803.l6883v2u049828@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=123096 Change 123096 by chub@chub-msdosfs on 2007/07/08 08:03:16 Killed the endianness macros; using (get|put)u(long|short) defines and le(16|32)(dec|enc) functions to deal with the conversions instead. Affected files ... .. //depot/projects/soc2007/chub-msdosfs2/sys/geom/label/g_label_msdosfs.c#3 edit Differences ... ==== //depot/projects/soc2007/chub-msdosfs2/sys/geom/label/g_label_msdosfs.c#3 (text+ko) ==== @@ -44,14 +44,7 @@ #define G_LABEL_MSDOSFS_DIR "msdosfs" #define LABEL_NO_NAME "NO NAME " -/* - * Conversion macros for little endian encoded unsigned integers - * in byte streams to the local unsigned integer format. - */ #include <sys/types.h> -#define UINT16BYTES(p) ((uint32_t)((p)[0] + (256*(p)[1]))) -#define UINT32BYTES(p) ((uint32_t)((p)[0] + (256*(p)[1]) + \ - (65536*(p)[2]) + (16777216*(p)[3]))) static void g_label_msdosfs_taste(struct g_consumer *cp, char *label, size_t size) @@ -107,7 +100,7 @@ /* * Test if this is really a FAT volume and determine the FAT type. */ - if (UINT16BYTES(pfat_bpb50->bpbFATsecs) != 0) { + if (getushort(pfat_bpb50->bpbFATsecs) != 0) { /* The extended boot record is one place for FAT12/FAT16 * and another for FAT32. */ @@ -141,7 +134,7 @@ strlcpy(label, pfat_extboot->exVolumeLabel, MIN(size, sizeof(pfat_extboot->exVolumeLabel) + 1)); } - else if (UINT32BYTES(pfat_bpb710->bpbBigFATsecs) != 0) { + else if (getulong(pfat_bpb710->bpbBigFATsecs) != 0) { uint32_t fat_FirstDataSector, fat_BytesPerSector, offset; /* The extended boot record is one place for FAT12/FAT16 @@ -180,10 +173,10 @@ * the root directory. */ fat_FirstDataSector = - UINT16BYTES(pfat_bpb710->bpbResSectors) + + getushort(pfat_bpb710->bpbResSectors) + (pfat_bpb710->bpbFATs * - UINT32BYTES(pfat_bpb710->bpbBigFATsecs)); - fat_BytesPerSector = UINT16BYTES(pfat_bpb710->bpbBytesPerSec); + getulong(pfat_bpb710->bpbBigFATsecs)); + fat_BytesPerSector = getushort(pfat_bpb710->bpbBytesPerSec); G_LABEL_DEBUG(2, "MSDOSFS: FAT_FirstDataSector=0x%x, FAT_BytesPerSector=%d",
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200707080803.l6883v2u049828>