@@ -1411,7 +1411,8 @@ static int lfs_dir_getgstate(lfs_t *lfs, const lfs_mdir_t *dir,
14111411}
14121412
14131413static int lfs_dir_getinfo (lfs_t * lfs , lfs_mdir_t * dir ,
1414- uint16_t id , struct lfs_info * info , const struct lfs_stat_config * config ) {
1414+ uint16_t id , struct lfs_info * info ,
1415+ struct lfs_attr * attrs , lfs_size_t attr_count ) {
14151416 if (id == 0x3ff ) {
14161417 // special case for root
14171418 strcpy (info -> name , "/" );
@@ -1442,13 +1443,12 @@ static int lfs_dir_getinfo(lfs_t *lfs, lfs_mdir_t *dir,
14421443 }
14431444
14441445 // fetch attrs
1445- if (config != NULL ) {
1446- for (unsigned i = 0 ; i < config -> attr_count ; i ++ ) {
1446+ if (attrs != NULL ) {
1447+ for (unsigned i = 0 ; i < attr_count ; i ++ ) {
14471448 lfs_stag_t res = lfs_dir_get (lfs , dir ,
14481449 LFS_MKTAG (0x7ff , 0x3ff , 0 ),
1449- LFS_MKTAG (LFS_TYPE_USERATTR + config -> attrs [i ].type ,
1450- id , config -> attrs [i ].size ),
1451- config -> attrs [i ].buffer );
1450+ LFS_MKTAG (LFS_TYPE_USERATTR + attrs [i ].type ,
1451+ id , attrs [i ].size ), attrs [i ].buffer );
14521452 if (res < 0 && res != LFS_ERR_NOENT ) {
14531453 return res ;
14541454 }
@@ -2783,8 +2783,8 @@ static int lfs_dir_close_(lfs_t *lfs, lfs_dir_t *dir) {
27832783 return 0 ;
27842784}
27852785
2786- static int lfs_dir_read_ (lfs_t * lfs , lfs_dir_t * dir , struct lfs_info * info ,
2787- const struct lfs_stat_config * config ) {
2786+ static int lfs_dir_reada_ (lfs_t * lfs , lfs_dir_t * dir , struct lfs_info * info ,
2787+ struct lfs_attr * attrs , lfs_size_t attr_count ) {
27882788 memset (info , 0 , sizeof (* info ));
27892789
27902790 // special offset for '.' and '..'
@@ -2814,7 +2814,7 @@ static int lfs_dir_read_(lfs_t *lfs, lfs_dir_t *dir, struct lfs_info *info,
28142814 dir -> id = 0 ;
28152815 }
28162816
2817- int err = lfs_dir_getinfo (lfs , & dir -> m , dir -> id , info , config );
2817+ int err = lfs_dir_getinfo (lfs , & dir -> m , dir -> id , info , attrs , attr_count );
28182818 if (err && err != LFS_ERR_NOENT ) {
28192819 return err ;
28202820 }
@@ -3970,8 +3970,8 @@ static int lfs_file_enumattr_(lfs_t* lfs, lfs_file_t* file,
39703970}
39713971
39723972/// General fs operations ///
3973- static int lfs_stat_ (lfs_t * lfs , const char * path , struct lfs_info * info ,
3974- const struct lfs_stat_config * config ) {
3973+ static int lfs_stata_ (lfs_t * lfs , const char * path , struct lfs_info * info ,
3974+ struct lfs_attr * attrs , lfs_size_t attr_count ) {
39753975 lfs_mdir_t cwd ;
39763976 lfs_stag_t tag = lfs_dir_find (lfs , & cwd , & path , NULL );
39773977 if (tag < 0 ) {
@@ -3984,7 +3984,7 @@ static int lfs_stat_(lfs_t *lfs, const char *path, struct lfs_info *info,
39843984 return LFS_ERR_NOTDIR ;
39853985 }
39863986
3987- return lfs_dir_getinfo (lfs , & cwd , lfs_tag_id (tag ), info , config );
3987+ return lfs_dir_getinfo (lfs , & cwd , lfs_tag_id (tag ), info , attrs , attr_count );
39883988}
39893989
39903990#ifndef LFS_READONLY
@@ -6184,15 +6184,15 @@ int lfs_rename(lfs_t *lfs, const char *oldpath, const char *newpath) {
61846184}
61856185#endif
61866186
6187- int lfs_statcfg (lfs_t * lfs , const char * path , struct lfs_info * info ,
6188- const struct lfs_stat_config * config ) {
6187+ int lfs_stata (lfs_t * lfs , const char * path , struct lfs_info * info ,
6188+ struct lfs_attr * attrs , lfs_size_t attr_count ) {
61896189 int err = LFS_LOCK (lfs -> cfg );
61906190 if (err ) {
61916191 return err ;
61926192 }
61936193 LFS_TRACE ("lfs_stat(%p, \"%s\", %p)" , (void * )lfs , path , (void * )info );
61946194
6195- err = lfs_stat_ (lfs , path , info , config );
6195+ err = lfs_stata_ (lfs , path , info , attrs , attr_count );
61966196
61976197 LFS_TRACE ("lfs_stat -> %d" , err );
61986198 LFS_UNLOCK (lfs -> cfg );
@@ -6496,16 +6496,16 @@ int lfs_dir_close(lfs_t *lfs, lfs_dir_t *dir) {
64966496 return err ;
64976497}
64986498
6499- int lfs_dir_readcfg (lfs_t * lfs , lfs_dir_t * dir , struct lfs_info * info ,
6500- const struct lfs_stat_config * config ) {
6499+ int lfs_dir_reada (lfs_t * lfs , lfs_dir_t * dir , struct lfs_info * info ,
6500+ struct lfs_attr * attrs , lfs_size_t attr_count ) {
65016501 int err = LFS_LOCK (lfs -> cfg );
65026502 if (err ) {
65036503 return err ;
65046504 }
65056505 LFS_TRACE ("lfs_dir_read(%p, %p, %p)" ,
65066506 (void * )lfs , (void * )dir , (void * )info );
65076507
6508- err = lfs_dir_read_ (lfs , dir , info , config );
6508+ err = lfs_dir_reada_ (lfs , dir , info , attrs , attr_count );
65096509
65106510 LFS_TRACE ("lfs_dir_read -> %d" , err );
65116511 LFS_UNLOCK (lfs -> cfg );
0 commit comments