Revert "fs: fat: cannot write to subdirectories"
This reverts commit 0dc1bfb730
.
The succeeding patch series will supersede it.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
f528c140c8
commit
881042ef02
@ -909,11 +909,9 @@ static int do_fat_write(const char *filename, void *buffer, loff_t size,
|
|||||||
volume_info volinfo;
|
volume_info volinfo;
|
||||||
fsdata datablock;
|
fsdata datablock;
|
||||||
fsdata *mydata = &datablock;
|
fsdata *mydata = &datablock;
|
||||||
int cursect, i;
|
int cursect;
|
||||||
int ret = -1, name_len;
|
int ret = -1, name_len;
|
||||||
char l_filename[VFAT_MAXLEN_BYTES];
|
char l_filename[VFAT_MAXLEN_BYTES];
|
||||||
char bad[2] = " ";
|
|
||||||
const char illegal[] = "<>:\"/\\|?*";
|
|
||||||
|
|
||||||
*actwrite = size;
|
*actwrite = size;
|
||||||
dir_curclust = 0;
|
dir_curclust = 0;
|
||||||
@ -973,18 +971,6 @@ static int do_fat_write(const char *filename, void *buffer, loff_t size,
|
|||||||
}
|
}
|
||||||
dentptr = (dir_entry *) do_fat_read_at_block;
|
dentptr = (dir_entry *) do_fat_read_at_block;
|
||||||
|
|
||||||
/* Strip leading (back-)slashes */
|
|
||||||
while ISDIRDELIM(*filename)
|
|
||||||
++filename;
|
|
||||||
/* Check that the filename is valid */
|
|
||||||
for (i = 0; i < strlen(illegal); ++i) {
|
|
||||||
*bad = illegal[i];
|
|
||||||
if (strstr(filename, bad)) {
|
|
||||||
printf("FAT: illegal filename (%s)\n", filename);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
name_len = strlen(filename);
|
name_len = strlen(filename);
|
||||||
if (name_len >= VFAT_MAXLEN_BYTES)
|
if (name_len >= VFAT_MAXLEN_BYTES)
|
||||||
name_len = VFAT_MAXLEN_BYTES - 1;
|
name_len = VFAT_MAXLEN_BYTES - 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user