summaryrefslogtreecommitdiff
path: root/firmware/target/hosted/filesystem-app.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/hosted/filesystem-app.c')
-rw-r--r--firmware/target/hosted/filesystem-app.c50
1 files changed, 0 insertions, 50 deletions
diff --git a/firmware/target/hosted/filesystem-app.c b/firmware/target/hosted/filesystem-app.c
index fc4fff0eb5..7d59a174dc 100644
--- a/firmware/target/hosted/filesystem-app.c
+++ b/firmware/target/hosted/filesystem-app.c
@@ -453,56 +453,6 @@ struct dirent * app_readdir(DIR *dirp)
453 return (struct dirent *)osdirent; 453 return (struct dirent *)osdirent;
454} 454}
455 455
456/* read a directory (reentrant) */
457int app_readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result)
458{
459 struct __dir *this = (struct __dir *)dirp;
460 if (!this)
461 FILE_ERROR_RETURN(EBADF, -6);
462
463 if (!result)
464 FILE_ERROR_RETURN(EFAULT, -2);
465
466 *result = NULL;
467
468 if (!entry)
469 FILE_ERROR_RETURN(EFAULT, -3);
470
471#ifdef HAVE_MULTIDRIVE
472 if (this->volumes_returned < NUM_VOLUMES)
473 {
474 while (++this->volumes_returned < NUM_VOLUMES)
475 {
476 if (!volume_present(this->volumes_returned))
477 continue;
478
479 get_volume_name(this->volumes_returned, entry->d_name);
480 *result = entry;
481 return 0;
482 }
483 }
484 /* do normal directory reads */
485#endif /* HAVE_MULTIDRIVE */
486
487 OS_DIRENT_T *osdirent = os_readdir(this->osdirp);
488 if (!osdirent)
489 FILE_ERROR_RETURN(ERRNO, -4);
490#ifdef OS_DIRENT_CONVERT
491 size_t name_size = sizeof (entry->d_name);
492 if (strlcpy_from_os(entry->d_name, osdirent->d_name,
493 name_size) >= name_size)
494 {
495 entry->d_name[0] = '\0';
496 errno = EOVERFLOW;
497 FILE_ERROR_RETURN(ENAMETOOLONG, -5);
498 }
499
500 *result = entry;
501#endif /* OS_DIRENT_CONVERT */
502
503 return 0;
504}
505
506int app_mkdir(const char *path) 456int app_mkdir(const char *path)
507{ 457{
508 char realpath[MAX_PATH]; 458 char realpath[MAX_PATH];