mirror of
				https://github.com/eledio-devices/thirdparty-littlefs.git
				synced 2025-10-31 00:32:38 +01:00 
			
		
		
		
	Merge pull request #643 from microist/fix-filebd-windows
Fixes to use lfs_filebd on windows platforms
This commit is contained in:
		| @@ -10,6 +10,10 @@ | ||||
| #include <unistd.h> | ||||
| #include <errno.h> | ||||
|  | ||||
| #ifdef _WIN32 | ||||
| #include <windows.h> | ||||
| #endif | ||||
|  | ||||
| int lfs_filebd_createcfg(const struct lfs_config *cfg, const char *path, | ||||
|         const struct lfs_filebd_config *bdcfg) { | ||||
|     LFS_FILEBD_TRACE("lfs_filebd_createcfg(%p {.context=%p, " | ||||
| @@ -27,7 +31,12 @@ int lfs_filebd_createcfg(const struct lfs_config *cfg, const char *path, | ||||
|     bd->cfg = bdcfg; | ||||
|  | ||||
|     // open file | ||||
|     #ifdef _WIN32 | ||||
|     bd->fd = open(path, O_RDWR | O_CREAT | O_BINARY, 0666); | ||||
|     #else | ||||
|     bd->fd = open(path, O_RDWR | O_CREAT, 0666); | ||||
|     #endif | ||||
|  | ||||
|     if (bd->fd < 0) { | ||||
|         int err = -errno; | ||||
|         LFS_FILEBD_TRACE("lfs_filebd_createcfg -> %d", err); | ||||
| @@ -193,7 +202,11 @@ int lfs_filebd_sync(const struct lfs_config *cfg) { | ||||
|     LFS_FILEBD_TRACE("lfs_filebd_sync(%p)", (void*)cfg); | ||||
|     // file sync | ||||
|     lfs_filebd_t *bd = cfg->context; | ||||
|     #ifdef _WIN32 | ||||
|     int err = FlushFileBuffers((HANDLE) _get_osfhandle(fd)) ? 0 : -1; | ||||
|     #else | ||||
|     int err = fsync(bd->fd); | ||||
|     #endif | ||||
|     if (err) { | ||||
|         err = -errno; | ||||
|         LFS_FILEBD_TRACE("lfs_filebd_sync -> %d", 0); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user