struct yaffs_obj *reldir, const YCHAR *dirname);
static int yaffsfs_closedir_no_lock(yaffs_DIR *dirent);
-unsigned int yaffs_wr_attempts;
+int yaffs_wr_attempts;
/*
* Handle management.
static int yaffsfs_TooManyObjects(struct yaffs_dev *dev)
{
- int current_objects = dev->n_obj - dev->n_deleted_files;
+ u32 current_objects = dev->n_obj - dev->n_deleted_files;
if (dev->param.max_objects && current_objects > dev->param.max_objects)
return 1;
Y_LOFF_T startPos = 0;
Y_LOFF_T endPos = 0;
int nRead = 0;
- int nToRead = 0;
+ unsigned int nToRead = 0;
int totalRead = 0;
Y_LOFF_T maxRead;
u8 *buf = (u8 *) vbuf;
/* Not a reading handle */
yaffsfs_SetError(-EINVAL);
totalRead = -1;
- } else if (nbyte > YAFFS_MAX_FILE_SIZE) {
- yaffsfs_SetError(-EINVAL);
- totalRead = -1;
} else {
if (isPread)
startPos = offset;
else
maxRead = 0;
- if (nbyte > maxRead)
+ if ((Y_LOFF_T)nbyte > maxRead)
nbyte = maxRead;
yaffsfs_GetHandle(handle);
endPos = pos + nbyte;
if (pos < 0 || pos > YAFFS_MAX_FILE_SIZE ||
- nbyte > YAFFS_MAX_FILE_SIZE ||
endPos < 0 || endPos > YAFFS_MAX_FILE_SIZE) {
totalRead = -1;
nbyte = 0;
buf += nRead;
}
- if (nRead == nToRead)
+ if (nRead == (int)nToRead)
nbyte -= nRead;
else
nbyte = 0; /* no more to read */
int nWritten = 0;
int totalWritten = 0;
int write_trhrough = 0;
- int nToWrite = 0;
+ unsigned int nToWrite = 0;
const u8 *buf = (const u8 *)vbuf;
if (yaffsfs_CheckMemRegion(vbuf, nbyte, 0) < 0) {
endPos = pos + nbyte;
if (pos < 0 || pos > YAFFS_MAX_FILE_SIZE ||
- nbyte > YAFFS_MAX_FILE_SIZE ||
endPos < 0 || endPos > YAFFS_MAX_FILE_SIZE) {
totalWritten = -1;
nbyte = 0;
buf += nWritten;
}
- if (nWritten == nToWrite)
+ if (nWritten == (int)nToWrite)
nbyte -= nToWrite;
else
nbyte = 0;
obj = yaffs_get_equivalent_obj(obj);
if (obj && buf) {
- buf->st_dev = (int)obj->my_dev->os_context;
+ buf->st_dev = 0;
buf->st_ino = obj->obj_id;
buf->st_mode = obj->yst_mode & ~S_IFMT;
const struct yaffs_utimbuf *buf)
{
int retVal = -1;
- struct yaffs_utimbuf local;
obj = yaffs_get_equivalent_obj(obj);
}
#if !CONFIG_YAFFS_WINCE
- if (!buf) {
- local.actime = Y_CURRENT_TIME;
- local.modtime = local.actime;
- buf = &local;
- }
+ {
+ struct yaffs_utimbuf local;
- if (obj) {
- int result;
+ if (!buf) {
+ local.actime = Y_CURRENT_TIME;
+ local.modtime = local.actime;
+ buf = &local;
+ }
- obj->yst_atime = buf->actime;
- obj->yst_mtime = buf->modtime;
- obj->dirty = 1;
- result = yaffs_flush_file(obj, 0, 0, 0);
- retVal = result == YAFFS_OK ? 0 : -1;
+ if (obj) {
+ int result;
+
+ obj->yst_atime = buf->actime;
+ obj->yst_mtime = buf->modtime;
+ obj->dirty = 1;
+ result = yaffs_flush_file(obj, 0, 0, 0);
+ retVal = result == YAFFS_OK ? 0 : -1;
+ }
}
#endif
yaffsfs_Unlock();
return ret;
}
+
+yaffs_DIR *yaffs_opendir_reldev(struct yaffs_dev *dev, const YCHAR *dirname)
+{
+ return yaffs_opendir_reldir(ROOT_DIR(dev), dirname);
+}
+
yaffs_DIR *yaffs_opendir(const YCHAR *dirname)
{
return yaffs_opendir_reldir(NULL, dirname);
if (dsc->nextReturn) {
dsc->de.d_ino =
yaffs_get_equivalent_obj(dsc->nextReturn)->obj_id;
- dsc->de.d_dont_use = (unsigned)dsc->nextReturn;
+ dsc->de.d_dont_use = dsc->nextReturn;
dsc->de.d_off = dsc->offset++;
yaffs_get_obj_name(dsc->nextReturn,
dsc->de.d_name, NAME_MAX);