Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:pantsgolem
hfsplusutils
gcc4.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gcc4.diff of Package hfsplusutils
--- libhfsp/src/btree.c +++ libhfsp/src/btree.c @@ -393,7 +393,7 @@ { p = volume_readfromfork(vol, nodebuf, fork, 0, bt->blkpernode, HFSP_EXTENT_DATA, bt->cnid); - ((char*) p) += HEADER_RESERVEDOFFSET; // skip header + p += HEADER_RESERVEDOFFSET; // skip header } bt->alloc_bits = malloc(alloc_size); --- libhfsp/src/btreecheck.c +++ libhfsp/src/btreecheck.c @@ -264,7 +264,7 @@ { p = volume_readfromfork(vol, nodebuf, fork, 0, bt->blkpernode, HFSP_EXTENT_DATA, bt->cnid); - ((char*) p) += HEADER_RESERVEDOFFSET; // skip header + p += HEADER_RESERVEDOFFSET; // skip header } bt->alloc_bits = malloc(alloc_size); --- libhfsp/src/fscheck.c +++ libhfsp/src/fscheck.c @@ -230,7 +230,7 @@ vh->write_count = bswabU32_inc(p); vh->encodings_bmp = bswabU64_inc(p); memcpy(vh->finder_info, p, 32); - ((char*) p) += 32; // So finderinfo must be swapped later, *** + p += 32; // So finderinfo must be swapped later, *** p = volume_readfork(p, &vh->alloc_file ); p = volume_readfork(p, &vh->ext_file ); p = volume_readfork(p, &vh->cat_file ); @@ -277,12 +277,12 @@ printf("Volume is wrapped in HFS volume " " (use hfsck to check this)\n"); - ((char*) p) += 0x12; /* skip unneded HFS vol fields */ + p += 0x12; /* skip unneded HFS vol fields */ drAlBlkSiz = bswabU32_inc(p); /* offset 0x14 */ - ((char*) p) += 0x4; /* skip unneded HFS vol fields */ + p += 0x4; /* skip unneded HFS vol fields */ drAlBlSt = bswabU16_inc(p); /* offset 0x1C */ - ((char*) p) += 0x5E; /* skip unneded HFS vol fields */ + p += 0x5E; /* skip unneded HFS vol fields */ signature = bswabU16_inc(p); /* offset 0x7C, drEmbedSigWord */ if (signature != HFSP_VOLHEAD_SIG) HFSP_ERROR(-1, "This looks like a normal HFS volume"); --- libhfsp/src/swab.h +++ libhfsp/src/swab.h @@ -36,28 +36,28 @@ #define bswabU16(val) bswap_16(val) -#define bswabU16_inc(ptr) bswap_16(*((UInt16*) (ptr))++) -#define bswabU32_inc(ptr) bswap_32(*((UInt32*) (ptr))++) -#define bswabU64_inc(ptr) bswap_64(*((UInt64*) (ptr))++) - -#define bstoreU16_inc(ptr, val) (*((UInt16*) (ptr))++) = bswap_16(val) -#define bstoreU32_inc(ptr, val) (*((UInt32*) (ptr))++) = bswap_32(val) -#define bstoreU64_inc(ptr, val) (*((UInt64*) (ptr))++) = bswap_64(val) +#define bswabU16_inc(ptr) (__extension__ ({ UInt16 v=bswap_16(*((UInt16*) (ptr))); ptr+=sizeof(UInt16);v;})) +#define bswabU32_inc(ptr) (__extension__ ({ UInt32 v=bswap_32(*((UInt32*) (ptr))); ptr+=sizeof(UInt32);v;})) +#define bswabU64_inc(ptr) (__extension__ ({ UInt64 v=bswap_64(*((UInt64*) (ptr))); ptr+=sizeof(UInt64);v;})) + +#define bstoreU16_inc(ptr, val) do {(*((UInt16*) (ptr))) = bswap_16(val); ptr+=sizeof(UInt16);} while (0) +#define bstoreU32_inc(ptr, val) do {(*((UInt32*) (ptr))) = bswap_32(val); ptr+=sizeof(UInt32);} while (0) +#define bstoreU64_inc(ptr, val) do {(*((UInt64*) (ptr))) = bswap_64(val); ptr+=sizeof(UInt64);} while (0) #else // BYTE_ORDER == BIG_ENDIAN #define bswabU16(val) val -#define bswabU16_inc(ptr) (*((UInt16*) (ptr))++) -#define bswabU32_inc(ptr) (*((UInt32*) (ptr))++) -#define bswabU64_inc(ptr) (*((UInt64*) (ptr))++) - -#define bstoreU16_inc(ptr, val) (*((UInt16*) (ptr))++) = val -#define bstoreU32_inc(ptr, val) (*((UInt32*) (ptr))++) = val -#define bstoreU64_inc(ptr, val) (*((UInt64*) (ptr))++) = val +#define bswabU16_inc(ptr) (__extension__ ({ UInt16 v=(*((UInt16*) (ptr))); ptr+=sizeof(UInt16);v;})) +#define bswabU32_inc(ptr) (__extension__ ({ UInt32 v=(*((UInt32*) (ptr))); ptr+=sizeof(UInt32);v;})) +#define bswabU64_inc(ptr) (__extension__ ({ UInt64 v=(*((UInt64*) (ptr))); ptr+=sizeof(UInt64);v;})) + +#define bstoreU16_inc(ptr, val) do {(*((UInt16*) (ptr))) = val; ptr+=sizeof(UInt16);} while (0) +#define bstoreU32_inc(ptr, val) do {(*((UInt32*) (ptr))) = val; ptr+=sizeof(UInt32);} while (0) +#define bstoreU64_inc(ptr, val) do {(*((UInt64*) (ptr))) = val; ptr+=sizeof(UInt64);} while (0) #endif /* for the sake of compleetness and readability */ -#define bswabU8_inc(ptr) (*((UInt8*) (ptr))++) -#define bstoreU8_inc(ptr,val) (*((UInt8*) (ptr))++) = val +#define bswabU8_inc(ptr) (__extension__ ({ UInt8 v=(*((UInt8*) (ptr))); ptr+=sizeof(UInt8);v;})) +#define bstoreU8_inc(ptr,val) do {(*((UInt8*) (ptr))) = val; ptr+=sizeof(UInt8);} while (0) --- libhfsp/src/volume.c +++ libhfsp/src/volume.c @@ -345,7 +345,7 @@ vh->write_count = bswabU32_inc(p); vh->encodings_bmp = bswabU64_inc(p); memcpy(vh->finder_info, p, 32); - ((char*) p) += 32; // finderinfo is not used by now + p += 32; // finderinfo is not used by now p = volume_readfork(p, &vh->alloc_file ); p = volume_readfork(p, &vh->ext_file ); p = volume_readfork(p, &vh->cat_file ); @@ -381,7 +381,7 @@ bstoreU32_inc(p, vh->write_count ); bstoreU64_inc(p, vh->encodings_bmp ); memcpy(p, vh->finder_info, 32); - ((char*) p) += 32; // finderinfo is not used by now + p += 32; // finderinfo is not used by now p = volume_writefork(p, &vh->alloc_file ); p = volume_writefork(p, &vh->ext_file ); p = volume_writefork(p, &vh->cat_file ); @@ -417,12 +417,12 @@ UInt16 embeds, embedl; /* Start/lenght of embedded area in blocks */ - ((char*) p) += 0x12; /* skip unneeded HFS vol fields */ + p += 0x12; /* skip unneeded HFS vol fields */ drAlBlkSiz = bswabU32_inc(p); /* offset 0x14 */ - ((char*) p) += 0x4; /* skip unneeded HFS vol fields */ + p += 0x4; /* skip unneeded HFS vol fields */ drAlBlSt = bswabU16_inc(p); /* offset 0x1C */ - ((char*) p) += 0x5E; /* skip unneeded HFS vol fields */ + p += 0x5E; /* skip unneeded HFS vol fields */ signature = bswabU16_inc(p); /* offset 0x7C, drEmbedSigWord */ if (signature != HFSP_VOLHEAD_SIG) HFSP_ERROR(-1, "This looks like a normal HFS volume");
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor