[FATTEN]
authorDavid Quintana <gigaherz@gmail.com>
Tue, 8 Sep 2015 00:45:35 +0000 (00:45 +0000)
committerDavid Quintana <gigaherz@gmail.com>
Tue, 8 Sep 2015 00:45:35 +0000 (00:45 +0000)
* Remove pointless dependency on BOOL and CHAR, which helps  with portability.
* Disable reentrancy, since all the operations are serialized by the commandline.
* Improve a few comments.

svn path=/trunk/; revision=69106

reactos/tools/fatten/fatfs/ffconf.h
reactos/tools/fatten/fatfs/integer.h
reactos/tools/fatten/fatfs/option/syscall.c [deleted file]
reactos/tools/fatten/fatten.c

index 07b71e2..23d4429 100644 (file)
 /  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 <windows.h>*/
index 6f61da0..494f56c 100644 (file)
@@ -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 <windows.h>
 #include <tchar.h>
 
-#else                  /* Unixes */
+#else                                        /* Unixes */
 
 #include <stdint.h>
 
@@ -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 (file)
index e25cb08..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/*------------------------------------------------------------------------*/
-/* Sample code of OS dependent controls for FatFs                         */
-/* (C)ChaN, 2012                                                          */
-/*------------------------------------------------------------------------*/
-
-#include <stdlib.h>            /* ANSI memory controls */
-#include <malloc.h>            /* 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
index 6303936..ca7c53a 100644 (file)
@@ -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))