mirror of
				https://github.com/fmtlib/fmt.git
				synced 2025-10-31 06:01:41 +01:00 
			
		
		
		
	FreeBSD 12 changed the type of freelocale to the type defined by POSIX. Check the FreeBSD version when building for FreeBSD.
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Formatting library for C++ - mocks of POSIX functions
 | |
| //
 | |
| // Copyright (c) 2012 - present, Victor Zverovich
 | |
| // All rights reserved.
 | |
| //
 | |
| // For the license information refer to format.h.
 | |
| 
 | |
| #ifndef FMT_POSIX_TEST_H
 | |
| #define FMT_POSIX_TEST_H
 | |
| 
 | |
| #include <errno.h>
 | |
| #include <stdio.h>
 | |
| 
 | |
| #ifdef _WIN32
 | |
| # include <windows.h>
 | |
| #else
 | |
| # include <sys/param.h>  // for FreeBSD version
 | |
| # include <sys/types.h>  // for ssize_t
 | |
| #endif
 | |
| 
 | |
| #ifndef _MSC_VER
 | |
| struct stat;
 | |
| #endif
 | |
| 
 | |
| namespace test {
 | |
| 
 | |
| #ifndef _MSC_VER
 | |
| // Size type for read and write.
 | |
| typedef size_t size_t;
 | |
| typedef ssize_t ssize_t;
 | |
| int open(const char *path, int oflag, int mode);
 | |
| int fstat(int fd, struct stat *buf);
 | |
| #else
 | |
| typedef unsigned size_t;
 | |
| typedef int ssize_t;
 | |
| errno_t sopen_s(
 | |
|     int* pfh, const char *filename, int oflag, int shflag, int pmode);
 | |
| #endif
 | |
| 
 | |
| #ifndef _WIN32
 | |
| long sysconf(int name);
 | |
| #else
 | |
| DWORD GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh);
 | |
| #endif
 | |
| 
 | |
| int close(int fildes);
 | |
| 
 | |
| int dup(int fildes);
 | |
| int dup2(int fildes, int fildes2);
 | |
| 
 | |
| FILE *fdopen(int fildes, const char *mode);
 | |
| 
 | |
| ssize_t read(int fildes, void *buf, size_t nbyte);
 | |
| ssize_t write(int fildes, const void *buf, size_t nbyte);
 | |
| 
 | |
| #ifndef _WIN32
 | |
| int pipe(int fildes[2]);
 | |
| #else
 | |
| int pipe(int *pfds, unsigned psize, int textmode);
 | |
| #endif
 | |
| 
 | |
| FILE *fopen(const char *filename, const char *mode);
 | |
| int fclose(FILE *stream);
 | |
| int (fileno)(FILE *stream);
 | |
| }  // namespace test
 | |
| 
 | |
| #define FMT_SYSTEM(call) test::call
 | |
| 
 | |
| #endif  // FMT_POSIX_TEST_H
 |