Add file creation logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3542 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
f9bdeb9f65
commit
fe089ab1a3
@ -79,12 +79,17 @@
|
|||||||
# define CONFIG_EXAMPLES_NXFFS_MAXNAME 128
|
# define CONFIG_EXAMPLES_NXFFS_MAXNAME 128
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if CONFIG_EXAMPLES_NXFFS_MAXNAME > 255
|
||||||
|
# undef CONFIG_EXAMPLES_NXFFS_MAXNAME
|
||||||
|
# define CONFIG_EXAMPLES_NXFFS_MAXNAME 255
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_EXAMPLES_NXFFS_MAXFILE
|
#ifndef CONFIG_EXAMPLES_NXFFS_MAXFILE
|
||||||
# define CONFIG_EXAMPLES_NXFFS_MAXFILE 8192
|
# define CONFIG_EXAMPLES_NXFFS_MAXFILE 8192
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_EXAMPLES_NXFFS_GULP
|
#ifndef CONFIG_EXAMPLES_NXFFS_MAXIO
|
||||||
# define CONFIG_EXAMPLES_NXFFS_GULP 347
|
# define CONFIG_EXAMPLES_NXFFS_MAXIO 347
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_EXAMPLES_NXFFS_MAXOPEN
|
#ifndef CONFIG_EXAMPLES_NXFFS_MAXOPEN
|
||||||
@ -248,12 +253,13 @@ static inline int nxffs_wrfile(void)
|
|||||||
|
|
||||||
for (offset = 0; offset < file->len; )
|
for (offset = 0; offset < file->len; )
|
||||||
{
|
{
|
||||||
|
size_t maxio = (rand() % CONFIG_EXAMPLES_NXFFS_MAXIO) + 1;
|
||||||
size_t nbytestowrite = file->len - offset;
|
size_t nbytestowrite = file->len - offset;
|
||||||
ssize_t nbyteswritten;
|
ssize_t nbyteswritten;
|
||||||
|
|
||||||
if (nbytestowrite > CONFIG_EXAMPLES_NXFFS_GULP)
|
if (nbytestowrite > maxio)
|
||||||
{
|
{
|
||||||
nbytestowrite = CONFIG_EXAMPLES_NXFFS_GULP;
|
nbytestowrite = maxio;
|
||||||
}
|
}
|
||||||
|
|
||||||
nbyteswritten = write(fd, &g_fileimage[offset], nbytestowrite);
|
nbyteswritten = write(fd, &g_fileimage[offset], nbytestowrite);
|
||||||
@ -270,7 +276,7 @@ static inline int nxffs_wrfile(void)
|
|||||||
}
|
}
|
||||||
else if (nbyteswritten != nbytestowrite)
|
else if (nbyteswritten != nbytestowrite)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Partial write: %d\n");
|
fprintf(stderr, "Partial write:\n");
|
||||||
fprintf(stderr, " File name: %s\n", file->name);
|
fprintf(stderr, " File name: %s\n", file->name);
|
||||||
fprintf(stderr, " File size: %d\n", file->len);
|
fprintf(stderr, " File size: %d\n", file->len);
|
||||||
fprintf(stderr, " Write offset: %d\n", offset);
|
fprintf(stderr, " Write offset: %d\n", offset);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user