change log for rtems (2010-12-27)

rtems-vc at rtems.org rtems-vc at rtems.org
Mon Dec 27 15:11:16 UTC 2010


 *sh*:
2010-12-27	Sebastian Huber <sebastian.huber at embedded-brains.de>

	* libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_misc.c,
	libfs/src/dosfs/msdos_create.c: Create valid create and modfied date
	and time.

M 1.2667  cpukit/ChangeLog
M   1.27  cpukit/libfs/src/dosfs/msdos.h
M   1.19  cpukit/libfs/src/dosfs/msdos_create.c
M   1.25  cpukit/libfs/src/dosfs/msdos_misc.c

diff -u rtems/cpukit/ChangeLog:1.2666 rtems/cpukit/ChangeLog:1.2667
--- rtems/cpukit/ChangeLog:1.2666	Fri Dec 17 08:56:05 2010
+++ rtems/cpukit/ChangeLog	Mon Dec 27 08:35:12 2010
@@ -1,3 +1,9 @@
+2010-12-27	Sebastian Huber <sebastian.huber at embedded-brains.de>
+
+	* libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_misc.c,
+	libfs/src/dosfs/msdos_create.c: Create valid create and modfied date
+	and time.
+
 2010-12-17	Joel Sherrill <joel.sherrill at oarcorp.com>
 		Jennifer Averett <jennifer.averett at oarcorp.com>
 

diff -u rtems/cpukit/libfs/src/dosfs/msdos.h:1.26 rtems/cpukit/libfs/src/dosfs/msdos.h:1.27
--- rtems/cpukit/libfs/src/dosfs/msdos.h:1.26	Mon Aug 23 16:29:31 2010
+++ rtems/cpukit/libfs/src/dosfs/msdos.h	Mon Dec 27 08:35:13 2010
@@ -112,6 +112,7 @@
 #define MSDOS_FIRST_CLUSTER_LOW_OFFSET    26
 #define MSDOS_FILE_WDATE_OFFSET           24
 #define MSDOS_FILE_WTIME_OFFSET           22
+#define MSDOS_FILE_ADATE_OFFSET           18
 
 /*
  * Possible values of DIR_Attr field of 32 bytes long FAT Directory Entry

diff -u rtems/cpukit/libfs/src/dosfs/msdos_create.c:1.18 rtems/cpukit/libfs/src/dosfs/msdos_create.c:1.19
--- rtems/cpukit/libfs/src/dosfs/msdos_create.c:1.18	Sun Jul  4 09:53:46 2010
+++ rtems/cpukit/libfs/src/dosfs/msdos_create.c	Mon Dec 27 08:35:13 2010
@@ -96,8 +96,11 @@
         return -1;
 
     msdos_date_unix2dos(time_ret, &date, &time_val);
+    *MSDOS_DIR_CRT_TIME(short_node) = CT_LE_W(time_val);
+    *MSDOS_DIR_CRT_DATE(short_node) = CT_LE_W(date);
     *MSDOS_DIR_WRITE_TIME(short_node) = CT_LE_W(time_val);
     *MSDOS_DIR_WRITE_DATE(short_node) = CT_LE_W(date);
+    *MSDOS_DIR_LAST_ACCESS_DATE(short_node) = CT_LE_W(date);
 
     /* initialize directory/file size */
     *MSDOS_DIR_FILE_SIZE(short_node) = MSDOS_INIT_DIR_SIZE;
@@ -146,10 +149,6 @@
        * set "archive bit" due to changes
        */
       *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_ARCHIVE;
-      /*
-       * set "last access" date to today
-       */
-      *MSDOS_DIR_LAST_ACCESS_DATE(short_node) = CT_LE_W(date);
     }
     else { /* regular file... */
         *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_ARCHIVE;

diff -u rtems/cpukit/libfs/src/dosfs/msdos_misc.c:1.24 rtems/cpukit/libfs/src/dosfs/msdos_misc.c:1.25
--- rtems/cpukit/libfs/src/dosfs/msdos_misc.c:1.24	Mon Aug 23 16:29:31 2010
+++ rtems/cpukit/libfs/src/dosfs/msdos_misc.c	Mon Dec 27 08:35:13 2010
@@ -718,7 +718,7 @@
     fat_file_fd_t                        *fat_fd
     )
 {
-    ssize_t          ret1 = 0, ret2 = 0;
+    ssize_t          ret1 = 0, ret2 = 0, ret3 = 0;
     msdos_fs_info_t *fs_info = mt_entry->fs_info;
     uint16_t         time_val;
     uint16_t         date;
@@ -742,8 +742,10 @@
     date = CT_LE_W(date);
     ret2 = _fat_block_write(mt_entry, sec, byte + MSDOS_FILE_WDATE_OFFSET,
                             2, (char *)(&date));
+    ret3 = _fat_block_write(mt_entry, sec, byte + MSDOS_FILE_ADATE_OFFSET,
+                            2, (char *)(&date));
 
-    if ( (ret1 < 0) || (ret2 < 0) )
+    if ( (ret1 < 0) || (ret2 < 0) || (ret3 < 0) )
         return -1;
 
     return RC_OK;



--

Generated by Deluxe Loginfo [http://www.codewiz.org/projects/index.html#loginfo] 2.122 by Bernardo Innocenti <bernie at develer.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/vc/attachments/20101227/b0ac7fbd/attachment.html>


More information about the vc mailing list