As env_utils.cpp was complex for its functionality and required a lot of testing, I decided to manage it as an external library (c-env-utils).
This change makes env_utils.h more stable and the binary size slightly smaller.
Specifically, the following changes are made to env_utils.h
Added support for long paths (that have more than 260 characters) on Windows.
Fixed a bug that OpenBSD was not able to get executable paths.
Added support for Solaris.
Removed compiler warnings.
Tested with long paths, symlinks, and unicode characters.
As
env_utils.cpp
was complex for its functionality and required a lot of testing, I decided to manage it as an external library (c-env-utils). This change makesenv_utils.h
more stable and the binary size slightly smaller.Specifically, the following changes are made to
env_utils.h
std::string
.