mFS file system library for EEPROM memory chips.

Revision:
7:5ac5121bb4e0
Parent:
5:a0fe74dce80d
Child:
9:52c01cb100ac
--- a/mfs.cpp	Mon Feb 21 18:34:40 2011 +0000
+++ b/mfs.cpp	Mon Feb 21 22:37:00 2011 +0000
@@ -1,11 +1,11 @@
 /*CPP**************************************************************************
-* FILENAME :        mfs.cpp                                                   *
-*                                                                             *
-* DESCRIPTION :                                                               *
-*       mFS file system implementation for mBED with external I2C EEEPROM.    *
-*                                                                             *
-* AUTHOR :    Olli Vanhoja        START DATE :    2011-02-21                  *
-******************************************************************************/
+ * FILENAME :        mfs.cpp                                                  *
+ *                                                                            *
+ * DESCRIPTION :                                                              *
+ *       mFS file system implementation for mBED with external I2C EEEPROM.   *
+ *                                                                            *
+ * AUTHOR :    Olli Vanhoja        START DATE :    2011-02-21                 *
+ *****************************************************************************/
 
 #include "mbed.h"
 #include "mfs.h"
@@ -186,6 +186,20 @@
     return 0; // Everything went better than expected
 }
 
+char mfs::renameFile(char oldFilename[20], char newFilename[20])
+{
+    unsigned int block;
+
+    // Check if file exists
+    block = getFirstBlockOfFile(oldFilename);
+    if (block > BC)
+        return 1; // File not found
+    
+    write(newFilename, block, 3, 20);
+    
+    return 0; // Everything went better than expected
+}
+
 char mfs::setFileFlags(char *flags, char filename[20])
 {
     /* RO|HIDDEN|LOCK  *
@@ -317,6 +331,7 @@
 
 void file::needsFlush()
 {
+    // Flush file if needed and return to current position
     if (bufPos > 0)
     {
         char tmpBlock = currBlock;