I mentioned before that it's not too hard to make an iterative using dirent, especially if you just call it directly yourself. You can see how it works by doing:
IN: scratchpad \ (directory-entries) see Nothing technical prevents it, only that right now the iteration is hidden behind that word where it produces a list of entries. In normal use, where a single directory doesn't have that many entries, this is not a performance issue. But, like anything with software, if you have a different use case we can adapt the code to it. > On Sep 30, 2015, at 1:59 PM, HP wei <hpwe...@gmail.com> wrote: > > I see. That is how factor distinguishes stat and lstat :) Thanks. > > Now I can try out the process on a folder with many subfolders and > with millions of files. > [ I wish in factor, there is a facility to make an iterator type of object > out of dirent. ] > > --HP > > >> On Wed, Sep 30, 2015 at 4:47 PM, Doug Coleman <doug.cole...@gmail.com> wrote: >> You can do link-info instead. >> >> >>> On Wed, Sep 30, 2015, 13:42 HP wei <hpwe...@gmail.com> wrote: >>> While trying out the word each-file, I bumped into presumably >>> a bug in >>> >>> file-info ( path -- info ) >>> >>> Under linux, >>> if the path is a softlink (symbolic link), >>> >>> path file-info symbolic-link? >>> >>> gives 'f' ---- and this is wrong. >>> >>> I looked at the implementation of file-info >>> and saw that it calls file-status which in turn calls >>> stat-func. >>> The latter calls __xstat64 ---- this seems to be related to stat function. >>> >>> Under linux, there are two functions that returns the stat-structure. >>> One is stat, the other lstat. >>> If a path is a symbolic link, >>> It is lstat that will return info about the link. >>> >>> ------------------------------------------- >>> >>> As a result of this 'bug', the following (as suggested by John the other >>> day) >>> could not do what is intended (to get the size of a folder). >>> >>> 0 a_path_to_folder t [ file-info dup symbolic-link? [ drop ] [ size>> + ] >>> if ] each-file >>> >>> >>> --HP Wei >>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> Factor-talk mailing list >>> Factor-talk@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/factor-talk >> >> ------------------------------------------------------------------------------ >> >> _______________________________________________ >> Factor-talk mailing list >> Factor-talk@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/factor-talk > > ------------------------------------------------------------------------------ > _______________________________________________ > Factor-talk mailing list > Factor-talk@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/factor-talk
------------------------------------------------------------------------------
_______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk