diff options
author | Angelo Mantellini <angelo.mantellini@cisco.com> | 2020-04-23 15:08:44 +0200 |
---|---|---|
committer | Angelo Mantellini <angelo.mantellini@cisco.com> | 2020-04-23 15:13:48 +0200 |
commit | 509e9201fd1918caf8fb08160064e7dbeef24dee (patch) | |
tree | 7bcc2f08e482f48a08e3b1ce4758f7973ad92ffd /apps/higet | |
parent | 0296cf30d22918bc5c23e02cf2510fa18dec687e (diff) |
[HICN-600] correct hicn apps on windows
Signed-off-by: Angelo Mantellini <angelo.mantellini@cisco.com>
Change-Id: I78656e5b3821024913b01b095e4368f53d02a5d1
Diffstat (limited to 'apps/higet')
-rw-r--r-- | apps/higet/higet.cc | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/apps/higet/higet.cc b/apps/higet/higet.cc index 5877c96b3..7584148a9 100644 --- a/apps/higet/higet.cc +++ b/apps/higet/higet.cc @@ -16,9 +16,8 @@ #include <hicn/transport/http/client_connection.h> #include <fstream> #include <map> - -#include <experimental/algorithm> -#include <experimental/functional> +#include <algorithm> +#include <functional> #define ASIO_STANDALONE #include <asio.hpp> @@ -114,12 +113,9 @@ class ReadBytesCallbackImplementation // read next chunk size const char *begin = (const char *)payload->data(); const char *end = (const char *)payload->tail(); - - using std::experimental::make_boyer_moore_searcher; - auto it = std::experimental::search( - begin, end, - make_boyer_moore_searcher(chunk_separator.begin(), - chunk_separator.end())); + const char *begincrlf2 = (const char *)chunk_separator.c_str(); + const char *endcrlf2 = begincrlf2 + chunk_separator.size(); + auto it = std::search(begin, end, begincrlf2, endcrlf2); if (it != end) { chunk_size_ = std::stoul(begin, 0, 16); content_size_ += chunk_size_; @@ -200,9 +196,15 @@ class ReadBytesCallbackImplementation void print_bar(long value, long max_value, bool last) { float progress = (float)value / max_value; +#ifdef _WIN32 + CONSOLE_SCREEN_BUFFER_INFO csbi; + GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi); + int barWidth = csbi.srWindow.Right - csbi.srWindow.Left + 7; +#else struct winsize size; ioctl(STDOUT_FILENO, TIOCGWINSZ, &size); int barWidth = size.ws_col - 8; +#endif std::cout << "["; int pos = barWidth * progress; |