Summary
While officially a beta (because a couple of recls/D changes may be made shortly) this is effectively the 1.7 release of recls, including a number of additional new elements to the core API, and reflected in the various language mappings.
Advertisement
While officially a beta (because a couple of recls/D changes may be made shortly) this is effectively the 1.7 release of recls, including a number of additional new elements to the core API, and reflected in the various language mappings. Additions / changes are as follows:
~ the core library header files now have a new structure, as follows (where $RECLS_ROOT is the directory in which recls is installed), e.g.
$RECLS_ROOT/include/recls_ftp.h => $RECLS_ROOT/include/recls/ftp.h
+ both recls/STL and recls/C++ mappings now support C++ Properties (as described in chapter 35 of Imperfect C++, http://imperfectcplusplus.com), which means that the following syntax is available for those compilers that support it:
FileEntry fe = . . .
std::cout << "path=" << fe.Path << endl; // Previously had to explicitly call fe.GetPath()
std::cout << "size=" << fe.Size << endl; // Previously had to explicitly call fe.GetSize()
+ new search flag RECLS_F_MARK_DIRS, which appends a trailing slash to the paths of any entries returned that are directories
+ new search flag RECLS_F_ALLOW_REPARSE_DIRS, which follows reparse directories on Win2K/XP. This is off by default, to avoid infinite search loops on pathologically configured systems.
+ new search flag RECLS_F_CALLBACKS_STDCALL_ON_WIN32, which invokes callbacks using the StdCall calling convention. (This was needed to interface with C# delegates.)
~ All search flags are now declared without the RECLS_F_ prefix, e.g. ALLOW_REPARSE_DIRS as well as RECLS_F_ALLOW_REPARSE_DIRS.
+ new core API function Recls_GetSelectedRoots(), which only returns roots of selected disk types according to its flags (a combination of the new RECLS_ROOTS_FLAG enumeration).
+ new core API function Recls_SearchFeedback(), which calls back to a caller-supplied function as the search enters each directory searched.
+ new core API function Recls_GetSearchRelativePathProperty(), which gives the path of each entry relative to the search directory. (In other words, it removes the search path from the full path.)
+ new core API function Recls_GetSearchDirectoryProperty(), which gives the full path of the search directory.
+ All the following mappings have corresponding changes to their functions/classes:
~ recls/C++
~ recls/COM
~ recls/Python
~ recls/Ruby
~ recls/STL