Merge pull request #201 from ccawley2011/fix-byteswap
Fix compilation of generic byteswap routines
This commit is contained in:
		
						commit
						0117457865
					
				
					 1 changed files with 14 additions and 11 deletions
				
			
		| 
						 | 
					@ -82,14 +82,14 @@ inline uint64_t gbswap_64(uint64_t host_int) {
 | 
				
			||||||
#elif defined(__GLIBC__)
 | 
					#elif defined(__GLIBC__)
 | 
				
			||||||
  return bswap_64(host_int);
 | 
					  return bswap_64(host_int);
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
  return (((x & uint64_t{(0xFF}) << 56) |
 | 
					  return (((host_int & uint64_t{0xFF}) << 56) |
 | 
				
			||||||
          ((x & uint64_t{(0xFF00}) << 40) |
 | 
					          ((host_int & uint64_t{0xFF00}) << 40) |
 | 
				
			||||||
          ((x & uint64_t{(0xFF0000}) << 24) |
 | 
					          ((host_int & uint64_t{0xFF0000}) << 24) |
 | 
				
			||||||
          ((x & uint64_t{(0xFF000000}) << 8) |
 | 
					          ((host_int & uint64_t{0xFF000000}) << 8) |
 | 
				
			||||||
          ((x & uint64_t{(0xFF00000000}) >> 8) |
 | 
					          ((host_int & uint64_t{0xFF00000000}) >> 8) |
 | 
				
			||||||
          ((x & uint64_t{(0xFF0000000000}) >> 24) |
 | 
					          ((host_int & uint64_t{0xFF0000000000}) >> 24) |
 | 
				
			||||||
          ((x & uint64_t{(0xFF000000000000}) >> 40) |
 | 
					          ((host_int & uint64_t{0xFF000000000000}) >> 40) |
 | 
				
			||||||
          ((x & uint64_t{(0xFF00000000000000}) >> 56));
 | 
					          ((host_int & uint64_t{0xFF00000000000000}) >> 56));
 | 
				
			||||||
#endif  // bswap_64
 | 
					#endif  // bswap_64
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -97,8 +97,10 @@ inline uint32_t gbswap_32(uint32_t host_int) {
 | 
				
			||||||
#if defined(__GLIBC__)
 | 
					#if defined(__GLIBC__)
 | 
				
			||||||
  return bswap_32(host_int);
 | 
					  return bswap_32(host_int);
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
  return (((x & 0xFF) << 24) | ((x & 0xFF00) << 8) | ((x & 0xFF0000) >> 8) |
 | 
					  return (((host_int & uint32_t{0xFF}) << 24) |
 | 
				
			||||||
          ((x & 0xFF000000) >> 24));
 | 
					          ((host_int & uint32_t{0xFF00}) << 8) |
 | 
				
			||||||
 | 
					          ((host_int & uint32_t{0xFF0000}) >> 8) |
 | 
				
			||||||
 | 
					          ((host_int & uint32_t{0xFF000000}) >> 24));
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -106,7 +108,8 @@ inline uint16_t gbswap_16(uint16_t host_int) {
 | 
				
			||||||
#if defined(__GLIBC__)
 | 
					#if defined(__GLIBC__)
 | 
				
			||||||
  return bswap_16(host_int);
 | 
					  return bswap_16(host_int);
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
  return uint16_t{((x & 0xFF) << 8) | ((x & 0xFF00) >> 8)};
 | 
					  return (((host_int & uint16_t{0xFF}) << 8) |
 | 
				
			||||||
 | 
					          ((host_int & uint16_t{0xFF00}) >> 8));
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue