X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fbin%2Fmemcp.cc;h=c13973e71df0ec94011cb69c70684c81b7481907;hb=b5e8dee5607dacd95d3683a708b03fac5017ae84;hp=114a2f8562328250e8822c12ab398a5a39d95cba;hpb=f2d0ed355899d265edbcc7156dace706df2f160a;p=m6w6%2Flibmemcached diff --git a/src/bin/memcp.cc b/src/bin/memcp.cc index 114a2f85..c13973e7 100644 --- a/src/bin/memcp.cc +++ b/src/bin/memcp.cc @@ -21,14 +21,23 @@ #include "common/options.hpp" #include "common/checks.hpp" +#include "p9y/libgen.hpp" +#include "p9y/realpath.hpp" #include #include #include -#include #include #include +#ifndef PATH_MAX +# ifdef MAX_PATH +# define PATH_MAX MAX_PATH +# else +# define PATH_MAX 256 +# endif +#endif + struct memcp_file { enum class type { basename, @@ -46,7 +55,7 @@ struct memcp_file { }; static inline std::string stream2string(const std::istream &istream) { - return dynamic_cast(std::ostringstream{} << istream.rdbuf()).str(); + return dynamic_cast(std::ostringstream{} << istream.rdbuf()).str(); } static memcached_return_t memcp(const client_options &opt, memcached_st &memc, const char *key, @@ -130,7 +139,7 @@ static bool path2key(const client_options &opt, memcp_file &file, char **path) { } else if (file.key == memcp_file::type::relative) { *path = file.path; } else { - *path = basename((file.path)); + *path = basename(file.path); } return true; } @@ -140,7 +149,7 @@ int main(int argc, char *argv[]) { client_options opt{PROGRAM_NAME, PROGRAM_VERSION, PROGRAM_DESCRIPTION, "file [file ...]" "\n\t\t\t# NOTE: order of flags and positional" - "\n\t\t\t# arguments matters on GNU systems)"}; + "\n\t\t\t# arguments matters on GNU systems"}; opt.add(nullptr, '-', no_argument, "GNU argv extension") .parse = [&files](client_options &opt_, client_options::extended_option &ext) {