projects
/
yaffs
/
.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
*** empty log message ***
[yaffs/.git]
/
yaffs_guts.c
diff --git
a/yaffs_guts.c
b/yaffs_guts.c
index 133dd15cc1fb51f3a3e6cd6fa4ff87f48a22ae26..7afb1406a444114a9081c1d66d5b6f4af7145389 100644
(file)
--- a/
yaffs_guts.c
+++ b/
yaffs_guts.c
@@
-14,7
+14,7
@@
*/
//yaffs_guts.c
*/
//yaffs_guts.c
-const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.2
6 2003-05-20 23:20:53
charles Exp $";
+const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.2
8 2003-08-20 03:53:39
charles Exp $";
#include "yportenv.h"
#include "yportenv.h"
@@
-782,11
+782,16
@@
static void yaffs_FreeTnode(yaffs_Device*dev, yaffs_Tnode *tn)
static void yaffs_DeinitialiseTnodes(yaffs_Device*dev)
{
// Free the list of allocated tnodes
static void yaffs_DeinitialiseTnodes(yaffs_Device*dev)
{
// Free the list of allocated tnodes
-
+ yaffs_TnodeList *tmp;
+
while(dev->allocatedTnodeList)
{
while(dev->allocatedTnodeList)
{
+ tmp = dev->allocatedTnodeList->next;
+
YFREE(dev->allocatedTnodeList->tnodes);
YFREE(dev->allocatedTnodeList->tnodes);
- dev->allocatedTnodeList = dev->allocatedTnodeList->next;
+ YFREE(dev->allocatedTnodeList);
+ dev->allocatedTnodeList = tmp;
+
}
dev->freeTnodes = NULL;
}
dev->freeTnodes = NULL;
@@
-1452,10
+1457,15
@@
static void yaffs_DeinitialiseObjects(yaffs_Device *dev)
{
// Free the list of allocated Objects
{
// Free the list of allocated Objects
+ yaffs_ObjectList *tmp;
+
while( dev->allocatedObjectList)
{
while( dev->allocatedObjectList)
{
+ tmp = dev->allocatedObjectList->next;
YFREE(dev->allocatedObjectList->objects);
YFREE(dev->allocatedObjectList->objects);
- dev->allocatedObjectList = dev->allocatedObjectList->next;
+ YFREE(dev->allocatedObjectList);
+
+ dev->allocatedObjectList = tmp;
}
dev->freeObjects = NULL;
}
dev->freeObjects = NULL;
@@
-1625,7
+1635,12
@@
yaffs_Object *yaffs_CreateNewObject(yaffs_Device *dev,int number,yaffs_ObjectTyp
theObject->win_ctime[1] = theObject->win_mtime[1] = theObject->win_atime[1];
#else
theObject->win_ctime[1] = theObject->win_mtime[1] = theObject->win_atime[1];
#else
- theObject->st_atime = theObject->st_mtime = theObject->st_ctime = CURRENT_TIME;
+
+#if defined(CONFIG_KERNEL_2_5)
+ theObject->st_atime = theObject->st_mtime = theObject->st_ctime = CURRENT_TIME.tv_sec;
+#else
+ theObject->st_atime = theObject->st_mtime = theObject->st_ctime = CURRENT_TIME;
+#endif
#endif
switch(type)
{
#endif
switch(type)
{
@@
-1728,8
+1743,12
@@
yaffs_Object *yaffs_MknodObject( yaffs_ObjectType type,
in->win_ctime[0] = in->win_mtime[0] = in->win_atime[0];
in->win_ctime[1] = in->win_mtime[1] = in->win_atime[0];
in->win_ctime[0] = in->win_mtime[0] = in->win_atime[0];
in->win_ctime[1] = in->win_mtime[1] = in->win_atime[0];
+#else
+#if defined(CONFIG_KERNEL_2_5)
+ in->st_atime = in->st_mtime = in->st_ctime = CURRENT_TIME.tv_sec;
#else
in->st_atime = in->st_mtime = in->st_ctime = CURRENT_TIME;
#else
in->st_atime = in->st_mtime = in->st_ctime = CURRENT_TIME;
+#endif
in->st_rdev = rdev;
in->st_uid = uid;
in->st_gid = gid;
in->st_rdev = rdev;
in->st_uid = uid;
in->st_gid = gid;
@@
-3692,8
+3711,12
@@
int yaffs_FlushFile(yaffs_Object *in, int updateTime)
{
#ifdef CONFIG_YAFFS_WINCE
yfsd_WinFileTimeNow(in->win_mtime);
{
#ifdef CONFIG_YAFFS_WINCE
yfsd_WinFileTimeNow(in->win_mtime);
+#else
+#if defined(CONFIG_KERNEL_2_5)
+ in->st_mtime = CURRENT_TIME.tv_sec;
#else
in->st_mtime = CURRENT_TIME;
#else
in->st_mtime = CURRENT_TIME;
+#endif
#endif
}
#endif
}
@@
-4546,9
+4569,15
@@
int yaffs_SetAttributes(yaffs_Object *obj, struct iattr *attr)
if(valid & ATTR_UID) obj->st_uid = attr->ia_uid;
if(valid & ATTR_GID) obj->st_gid = attr->ia_gid;
if(valid & ATTR_UID) obj->st_uid = attr->ia_uid;
if(valid & ATTR_GID) obj->st_gid = attr->ia_gid;
+#if defined(CONFIG_KERNEL_2_5)
+ if(valid & ATTR_ATIME) obj->st_atime = attr->ia_atime.tv_sec;
+ if(valid & ATTR_CTIME) obj->st_ctime = attr->ia_ctime.tv_sec;
+ if(valid & ATTR_MTIME) obj->st_mtime = attr->ia_mtime.tv_sec;
+#else
if(valid & ATTR_ATIME) obj->st_atime = attr->ia_atime;
if(valid & ATTR_CTIME) obj->st_ctime = attr->ia_ctime;
if(valid & ATTR_MTIME) obj->st_mtime = attr->ia_mtime;
if(valid & ATTR_ATIME) obj->st_atime = attr->ia_atime;
if(valid & ATTR_CTIME) obj->st_ctime = attr->ia_ctime;
if(valid & ATTR_MTIME) obj->st_mtime = attr->ia_mtime;
+#endif
if(valid & ATTR_SIZE) yaffs_ResizeFile(obj,attr->ia_size);
if(valid & ATTR_SIZE) yaffs_ResizeFile(obj,attr->ia_size);
@@
-4565,10
+4594,15
@@
int yaffs_GetAttributes(yaffs_Object *obj, struct iattr *attr)
attr->ia_uid = obj->st_uid; valid |= ATTR_UID;
attr->ia_gid = obj->st_gid; valid |= ATTR_GID;
attr->ia_uid = obj->st_uid; valid |= ATTR_UID;
attr->ia_gid = obj->st_gid; valid |= ATTR_GID;
+#if defined(CONFIG_KERNEL_2_5)
+ attr->ia_atime.tv_sec = obj->st_atime; valid |= ATTR_ATIME;
+ attr->ia_ctime.tv_sec = obj->st_ctime; valid |= ATTR_CTIME;
+ attr->ia_mtime.tv_sec = obj->st_mtime; valid |= ATTR_MTIME;
+#else
attr->ia_atime = obj->st_atime; valid |= ATTR_ATIME;
attr->ia_ctime = obj->st_ctime; valid |= ATTR_CTIME;
attr->ia_mtime = obj->st_mtime; valid |= ATTR_MTIME;
attr->ia_atime = obj->st_atime; valid |= ATTR_ATIME;
attr->ia_ctime = obj->st_ctime; valid |= ATTR_CTIME;
attr->ia_mtime = obj->st_mtime; valid |= ATTR_MTIME;
-
+#endif
attr->ia_size = yaffs_GetFileSize(obj); valid |= ATTR_SIZE;
attr->ia_valid = valid;
attr->ia_size = yaffs_GetFileSize(obj); valid |= ATTR_SIZE;
attr->ia_valid = valid;