diff --git a/reactos/tools/fatten/fatfs/ffconf.h b/reactos/tools/fatten/fatfs/ffconf.h index 07b71e2650e..23d44290b4c 100644 --- a/reactos/tools/fatten/fatfs/ffconf.h +++ b/reactos/tools/fatten/fatfs/ffconf.h @@ -203,7 +203,7 @@ / This feature consumes _FS_LOCK * 12 bytes of bss area. */ -#define _FS_REENTRANT 1 /* 0:Disable or 1:Enable */ +#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */ #define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */ #define _SYNC_t HANDLE /* O/S dependent sync object type. e.g. HANDLE, OS_EVENT*, ID and etc.. */ /*#include */ diff --git a/reactos/tools/fatten/fatfs/integer.h b/reactos/tools/fatten/fatfs/integer.h index 6f61da0018b..494f56c5f00 100644 --- a/reactos/tools/fatten/fatfs/integer.h +++ b/reactos/tools/fatten/fatfs/integer.h @@ -5,12 +5,12 @@ #ifndef _FF_INTEGER #define _FF_INTEGER -#ifdef _WIN32 /* Windows */ +#if defined(_MSC_VER) && (_MSC_VER < 0x1700) /* Windows with older MSVC */ #include #include -#else /* Unixes */ +#else /* Unixes */ #include @@ -22,7 +22,7 @@ typedef int16_t SHORT; typedef uint16_t WORD; typedef uint16_t WCHAR; -/* These types MUST be 16 bit or 32 bit */ +/* These types MUST be at least 16 bit */ typedef int_fast16_t INT; typedef uint_fast16_t UINT; diff --git a/reactos/tools/fatten/fatfs/option/syscall.c b/reactos/tools/fatten/fatfs/option/syscall.c deleted file mode 100644 index e25cb08f104..00000000000 --- a/reactos/tools/fatten/fatfs/option/syscall.c +++ /dev/null @@ -1,153 +0,0 @@ -/*------------------------------------------------------------------------*/ -/* Sample code of OS dependent controls for FatFs */ -/* (C)ChaN, 2012 */ -/*------------------------------------------------------------------------*/ - -#include /* ANSI memory controls */ -#include /* ANSI memory controls */ - -#include "../ff.h" - - -#if _FS_REENTRANT -/*------------------------------------------------------------------------*/ -/* Create a Synchronization Object -/*------------------------------------------------------------------------*/ -/* This function is called by f_mount() function to create a new -/ synchronization object, such as semaphore and mutex. When a 0 is -/ returned, the f_mount() function fails with FR_INT_ERR. -*/ - -int ff_cre_syncobj ( /* 1:Function succeeded, 0:Could not create due to any error */ - BYTE vol, /* Corresponding logical drive being processed */ - _SYNC_t* sobj /* Pointer to return the created sync object */ -) -{ - int ret; - - - *sobj = CreateMutex(NULL, FALSE, NULL); /* Win32 */ - ret = (int)(*sobj != INVALID_HANDLE_VALUE); - -// *sobj = SyncObjects[vol]; /* uITRON (give a static created semaphore) */ -// ret = 1; - -// *sobj = OSMutexCreate(0, &err); /* uC/OS-II */ -// ret = (int)(err == OS_NO_ERR); - -// *sobj = xSemaphoreCreateMutex(); /* FreeRTOS */ -// ret = (int)(*sobj != NULL); - - return ret; -} - - - -/*------------------------------------------------------------------------*/ -/* Delete a Synchronization Object */ -/*------------------------------------------------------------------------*/ -/* This function is called in f_mount() function to delete a synchronization -/ object that created with ff_cre_syncobj() function. When a 0 is -/ returned, the f_mount() function fails with FR_INT_ERR. -*/ - -int ff_del_syncobj ( /* 1:Function succeeded, 0:Could not delete due to any error */ - _SYNC_t sobj /* Sync object tied to the logical drive to be deleted */ -) -{ - int ret; - - - ret = CloseHandle(sobj); /* Win32 */ - -// ret = 1; /* uITRON (nothing to do) */ - -// OSMutexDel(sobj, OS_DEL_ALWAYS, &err); /* uC/OS-II */ -// ret = (int)(err == OS_NO_ERR); - -// xSemaphoreDelete(sobj); /* FreeRTOS */ -// ret = 1; - - return ret; -} - - - -/*------------------------------------------------------------------------*/ -/* Request Grant to Access the Volume */ -/*------------------------------------------------------------------------*/ -/* This function is called on entering file functions to lock the volume. -/ When a FALSE is returned, the file function fails with FR_TIMEOUT. -*/ - -int ff_req_grant ( /* TRUE:Got a grant to access the volume, FALSE:Could not get a grant */ - _SYNC_t sobj /* Sync object to wait */ -) -{ - int ret; - - ret = (int)(WaitForSingleObject(sobj, _FS_TIMEOUT) == WAIT_OBJECT_0); /* Win32 */ - -// ret = (int)(wai_sem(sobj) == E_OK); /* uITRON */ - -// OSMutexPend(sobj, _FS_TIMEOUT, &err)); /* uC/OS-II */ -// ret = (int)(err == OS_NO_ERR); - -// ret = (int)(xSemaphoreTake(sobj, _FS_TIMEOUT) == pdTRUE); /* FreeRTOS */ - - return ret; -} - - - -/*------------------------------------------------------------------------*/ -/* Release Grant to Access the Volume */ -/*------------------------------------------------------------------------*/ -/* This function is called on leaving file functions to unlock the volume. -*/ - -void ff_rel_grant ( - _SYNC_t sobj /* Sync object to be signaled */ -) -{ - ReleaseMutex(sobj); /* Win32 */ - -// sig_sem(sobj); /* uITRON */ - -// OSMutexPost(sobj); /* uC/OS-II */ - -// xSemaphoreGive(sobj); /* FreeRTOS */ -} - -#endif - - - - -#if _USE_LFN == 3 /* LFN with a working buffer on the heap */ -/*------------------------------------------------------------------------*/ -/* Allocate a memory block */ -/*------------------------------------------------------------------------*/ -/* If a NULL is returned, the file function fails with FR_NOT_ENOUGH_CORE. -*/ - -void* ff_memalloc ( /* Returns pointer to the allocated memory block */ - UINT msize /* Number of bytes to allocate */ -) -{ - return malloc(msize); -} - - -/*------------------------------------------------------------------------*/ -/* Free a memory block */ -/*------------------------------------------------------------------------*/ - -void ff_memfree ( - void* mblock /* Pointer to the memory block to free */ -) -{ - free(mblock); -} - -#endif diff --git a/reactos/tools/fatten/fatten.c b/reactos/tools/fatten/fatten.c index 6303936e82d..ca7c53a4cb7 100644 --- a/reactos/tools/fatten/fatten.c +++ b/reactos/tools/fatten/fatten.c @@ -53,7 +53,7 @@ DWORD get_fattime() return myTime.whole; } -BOOL is_command(const char* parg) +int is_command(const char* parg) { return (parg[0] == '/') || (parg[0] == '-'); } @@ -64,7 +64,7 @@ BOOL is_command(const char* parg) if(nargs>_max_) { printf("Too many args for command %s.\n",argv[-1]); goto print_help; } \ } while(0) -BOOL need_mount() +int need_mount() { if (isMounted) return FR_OK; @@ -320,7 +320,7 @@ int main(int oargc, char* oargv[]) printf("Listing directory contents of: %s\n", root); FILINFO info = { 0 }; - CHAR lfname[257]; + char lfname[257]; info.lfname = lfname; info.lfsize = 256; while ((!f_readdir(&dir, &info)) && (strlen(info.fname) > 0))