c++.stlsoft - recls 1.9.1 (alpha 1) released
- Matt Wilson (382/382) Feb 09 2010 Download from https://sourceforge.net/projects/recls/files
Download from https://sourceforge.net/projects/recls/files recls 1.9.1 (alpha 1) released - 9th February 2010 ================================================== Summary: -------- * first release of recls 1.9 * merging 1.8's C++ and STL APIs into one: include <recls/recls.hpp> for new C++ API * prototypical code coverage * refactored implicit link functionality * API type name changes, e.g. recls_fileinfo_t => recls_entryinfo_t, recls_info_t => recls_entry_t * removed the Recls_OutstandingDetails() API function * user-specifiable diagnostic logging * NOTE: this distribution contains only core library and C++ mapping; other language mappings are not included Details: -------- Core: ~ include/recls/ftp.h: ~ recls support for FTP is now discriminated in main include (recls/recls.h) ~ include/recls/implicit_link.h: + added support for Intel 9, 10, 11 ~ changed naming for 64-bit + added support for widestring + added support for (pseudo-)UNIX ~ include/recls/internal/platform.h: ~ recls support for FTP is now discriminated in main include (recls/recls.h) + RECLS_ARCH_IS_X64 + RECLS_ARCH_IS_IA64 + RECLS_ARCH_IS_X86 ~ minor layout changes ~ include/recls/internal/platform_types.h: + string access shims for recls_entryinfo_t ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t ~ minor layout changes + added data+len string access shims for recls_strptrs_t ~ include/recls/internal/recls_filesize.h: ~ no-namespace compatibility ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t ~ minor layout changes + added data+len string access shims for recls_strptrs_t ~ include/recls/internal/recls_time.h: ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t ~ minor layout changes + added data+len string access shims for recls_strptrs_t ~ include/recls/internal/retcodes.h: ~ renamed RECLS_RC_INVALID_DIRECTORY to RECLS_RC_PATH_IS_NOT_DIRECTORY + added RECLS_RC_DIRECTORY_NOT_FOUND + RECLS_RC_ACCESS_DENIED ~ minor layout changes ~ include/recls/recls.h: ~ widestring compatibility + added RECLS_F_STOP_ON_ACCESS_FAILURE ~ no-namespace compatibility ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t - Recls_OutstandingDetails() ~ minor layout changes ~ include/recls/recls.hpp: ~ separated FTP functionality out of search_sequence, into new class ftp_search_sequence ~ include/recls/windows.h: ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t ~ src/ReclsFileSearch.cpp: ~ improved error-handling (for access-denied) ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ renaming of utility functions ~ now implemented in terms of types structure ~ src/ReclsFileSearch.hpp: ~ improved error-handling (for access-denied) ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t ~ src/ReclsFileSearchDirectoryNode.cpp: ~ widestring compatibility ~ fixed defect in (new) access-denied propagation ~ improved error-handling (for access-denied) ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ removal of dependency on so-called "unsafe" string functions ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ now implemented in terms of types structure ~ src/ReclsFileSearchDirectoryNode.hpp: ~ improved error-handling (for access-denied) ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t ~ now implemented in terms of types structure ~ src/ReclsFtpSearchDirectoryNode_windows.cpp: ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ removed dependency on so-called "unsafe" string functions ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ renaming of utility functions ~ now implemented in terms of types structure ~ src/ReclsFtpSearchDirectoryNode_windows.hpp: ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t ~ src/ReclsFtpSearch_windows.cpp: + added code coverage ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ renaming of utility functions ~ now implemented in terms of types structure ~ src/ReclsSearch.cpp: ~ reordered coverage constructs ~ marking files ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ src/ReclsSearch.hpp: ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t ~ src/api.entryinfo.cpp: ~ reordered coverage constructs ~ marking files ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ renaming of utility functions ~ src/api.error.cpp: ~ reordered coverage constructs ~ marking files ~ widestring compatibility + added code coverage ~ renamed RECLS_RC_INVALID_DIRECTORY to RECLS_RC_PATH_IS_NOT_DIRECTORY + added RECLS_RC_DIRECTORY_NOT_FOUND + added RECLS_RC_ACCESS_DENIED ~ renaming of utility functions ~ src/api.extended.cpp: ~ split Recls_CombinePaths() into its own source file ~ split Recls_DeriveRelativePath(), Recls_SqueezePath(), Recls_Stat() into their own source files ~ marking files ~ stat() now rejects too-large path ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ verifies the path for length, either too small or too large ~ fixed defect in stat(), when target does not exist ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ renaming of utility functions ~ now implemented in terms of types structure ~ src/api.ftp.windows.cpp: ~ reordered coverage constructs ~ marking files + added code coverage ~ renaming of utility functions ~ now implemented in terms of types structure ~ src/api.search.cpp: ~ reordered coverage constructs ~ marking files ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ removal of dependency on so-called "unsafe" string functions ~ verifies the path for length, either too small or too large ~ recls_debug_printf_() => recls_trace_printf_() - removal of Recls_OutstandingDetails() ~ using union cast for function cast ~ using constants class constants ~ simplified tracing functionality, and made it programmable ~ renaming of utility functions ~ now implemented in terms of types structure ~ src/api.unix.cpp: ~ reordered coverage constructs ~ marking files + added code coverage ~ src/api.util.combine_paths.cpp: ~ exception refactoring ~ split Recls_CombinePaths() into its own source file ~ split Recls_DeriveRelativePath(), Recls_SqueezePath(), Recls_Stat() into their own source files ~ marking files ~ stat() now rejects too-large path ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ verifies the path for length, either too small or too large ~ fixed defect in stat(), when target does not exist ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ renaming of utility functions ~ now implemented in terms of types structure ~ src/api.util.create_directory.cpp: ~ separating out exception-handling from main function body, to work around code-generation defect in VC++ 9 (debug, dll) ~ split create_directory and remove_directory into their own source files ~ marking files ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ src/api.util.derive_relative_path.cpp: ~ reordered coverage constructs ~ split Recls_DeriveRelativePath(), Recls_SqueezePath(), Recls_Stat() into their own source files ~ marking files ~ stat() now rejects too-large path ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ verifies the path for length, either too small or too large ~ fixed defect in stat(), when target does not exist ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ renaming of utility functions ~ now implemented in terms of types structure ~ src/api.util.remove_directory.cpp: ~ improved exception-handling ~ separating out exception-handling from main function body, to work around code-generation defect in VC++ 9 (debug, dll) ~ split create_directory and remove_directory into their own source files ~ marking files ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ src/api.util.squeeze_path.cpp: ~ refactored exception-handling ~ split Recls_DeriveRelativePath(), Recls_SqueezePath(), Recls_Stat() into their own source files ~ marking files ~ stat() now rejects too-large path ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ verifies the path for length, either too small or too large ~ fixed defect in stat(), when target does not exist ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ renaming of utility functions ~ now implemented in terms of types structure ~ src/api.util.stat.cpp: ~ exception refactoring ~ reordered coverage constructs ~ split Recls_DeriveRelativePath(), Recls_SqueezePath(), Recls_Stat() into their own source files ~ marking files ~ stat() now rejects too-large path ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ verifies the path for length, either too small or too large ~ fixed defect in stat(), when target does not exist ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ renaming of utility functions ~ now implemented in terms of types structure ~ src/api.windows.cpp: ~ reordered coverage constructs ~ marking files ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ renaming of utility functions ~ src/impl.atomic.h: ~ recls_debug_printf_() => recls_trace_printf_() ~ src/impl.constants.hpp: ~ reordered coverage constructs ~ marking files ~ improved error-handling (for access-denied) + added code coverage + constants class - removal of char array constants ~ src/impl.cover.h: ~ marking files + xCover ~ src/impl.entryfunctions.h: ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t ~ src/impl.entryinfo.cpp: ~ reordered coverage constructs ~ marking files ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ removal of dependency on so-called "unsafe" string functions ~ renaming of utility functions ~ now implemented in terms of types structure ~ src/impl.entryinfo.hpp: ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t ~ now implemented in terms of types structure ~ src/impl.fileinfo.cpp: ~ reordered coverage constructs ~ marking files ~ recls_fileinfo_t => recls_entryinfo_t and recls_info_t => recls_entry_t + added code coverage ~ src/impl.fileinfo.unix.cpp: + added code coverage ~ recls_debug_printf_() => recls_trace_printf_() ~ src/impl.fileinfo.windows.cpp: + added code coverage ~ recls_debug_printf_() => recls_trace_printf_() ~ src/impl.root.h: - RECLS_TRACE_LEVEL removed, and is not dynamic ~ recls_debug_printf_() => recls_trace_printf_() ~ src/impl.trace.cpp: ~ debug-logging not enabled in release builds + added code coverage ~ logging now in terms of recls_char_t + added default debug logging functionality ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ src/impl.trace.h: ~ logging now in terms of recls_char_t ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ src/impl.types.ftp.hpp: ~ improved error-handling (for access-denied) + added code coverage + count_char_instances() + count_dir_parts() ~ src/impl.types.hpp: ~ improved error-handling (for access-denied) + added code coverage + count_char_instances() + count_dir_parts() ~ src/impl.util.cpp: + added code coverage ~ renaming of utility functions ~ now implemented in terms of types structure ~ src/impl.util.h: ~ renaming of utility functions ~ src/impl.util.unix.cpp: + added code coverage ~ removal of dependency on so-called "unsafe" string functions ~ recls_debug_printf_() => recls_trace_printf_() ~ renaming of utility functions ~ src/impl.util.windows.cpp: + added code coverage ~ recls_debug_printf_() => recls_trace_printf_() ~ simplified tracing functionality, and made it programmable ~ renaming of utility functions ~ now implemented in terms of types structure C++ API: ~ include/recls/cpp/exceptions.hpp: ~ documentation corrections ~ no-namespace compatibility ~ include/recls/cpp/ftp_search_sequence.hpp: ~ separated FTP functionality out of search_sequence, into new class ftp_search_sequence ~ search_sequence is now a non-template class ~ safe-string compatible ~ ensures forward compatibility with recls 1.9 ~ corrected defect in get_search_relative_path() ~ include/recls/cpp/root_sequence.hpp: ~ root_sequence is now a non-template class ~ include/recls/cpp/search_sequence.hpp: ~ separated FTP functionality out of search_sequence, into new class ftp_search_sequence ~ search_sequence is now a non-template class ~ safe-string compatible ~ ensures forward compatibility with recls 1.9 ~ corrected defect in get_search_relative_path() ~ include/recls/cpp/traits.hpp: ~ separated FTP functionality out of search_sequence, into new class ftp_search_sequence ~ safe-string compatible ~ include/recls/cpp/util.hpp: ~ documentation corrections ~ no-namespace compatibility Makefiles: ~ recls.vc6.dsw: + added test.component.util.cpp.remove_directory ~ projects/core/vc6/recls.core.dsp: ~ split Recls_CombinePaths() into its own source file ~ split Recls_DeriveRelativePath(), Recls_SqueezePath(), Recls_Stat() into their own source files ~ split api.extended.2.cpp into api.util.create_directory.cpp and api.util.remove_directory.cpp ~ build/bc56/makefile: ~ build/bc582/makefile: ~ build/cw8.unix/makefile: ~ build/cw8.win32/makefile: ~ build/dm/makefile: ~ build/gcc34.win32/makefile: ~ build/gcc40.unix/makefile: ~ build/gcc41.unix/makefile: ~ build/gcc42.unix/makefile: ~ build/gcc43.unix/makefile: ~ build/icl10.win32/makefile: ~ build/icl11.win32/makefile: ~ build/icl8.win32/makefile: ~ build/icl9.win32/makefile: ~ build/vc6.unixem/makefile: ~ build/vc6/makefile: ~ build/vc71/makefile: ~ build/vc8.unixem/makefile: ~ build/vc8.x64/makefile: ~ build/vc8/makefile: ~ build/vc9.unixem/makefile: ~ build/vc9.x64/makefile: ~ build/vc9/makefile: ~ split Recls_CombinePaths() into its own source file ~ split Recls_DeriveRelativePath(), Recls_SqueezePath(), Recls_Stat() into their own source files ~ split create_directory and remove_directory into their own source files + added test.component.util.cpp.remove_directory + added test.component.util.cpp.create_directory ~ cleaning up all files properly ~ updated makefiles, including xCover ~ libs only; xCover-compatibility Examples: Test.Unit: ~ test/unit/test.unit.api.squeeze_path/test.unit.api.squeeze_path.c: + added code coverage reporting ~ test/unit/test.unit.cpp.squeeze_path/test.unit.cpp.squeeze_path.cpp: + added code coverage reporting Depends on: * STLSoft 1.9.91 or later (http://stlsoft.org/)
Feb 09 2010