diff --git a/lab_01.cbp b/lab_01.cbp
index 6fb5853..acf2a33 100644
--- a/lab_01.cbp
+++ b/lab_01.cbp
@@ -13,7 +13,12 @@
+
+
+
+
+
diff --git a/lab_01.layout b/lab_01.layout
index d425fe2..91dafb6 100644
--- a/lab_01.layout
+++ b/lab_01.layout
@@ -2,44 +2,44 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/main.cpp b/main.cpp
index 8c9cc99..01fc645 100644
--- a/main.cpp
+++ b/main.cpp
@@ -7,6 +7,8 @@
#include "svg.h"
#include "histogram_internal.h"
#include
+#include
+#include
using namespace std;
@@ -35,10 +37,28 @@ input_data(istream &tin, bool prompt){
return in;
}
+size_t
+write_data(void* items, size_t item_size, size_t item_count, void* ctx) {
+ CURL* curl = curl_easy_init();
+ if(curl) {
+ CURLcode res;
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
+ res = curl_easy_perform(curl);
+ if(res != CURLE_OK){
+ fprintf(stderr, "curl_easy_perform() failed: %s\n",
+ curl_easy_strerror(res));
+ exit(1);
+ }
+ curl_easy_cleanup(curl);
+ }
+ size_t data_size = item_size * item_count;
+ return 0;
+}
-int main(int argc, char* argv[]) {
- if (argc > 1){
- CURL* curl = curl_easy_init();
+Input
+download(const string& address) {
+ stringstream buffer;
+ CURL* curl = curl_easy_init();
if(curl) {
CURLcode res;
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
@@ -48,13 +68,21 @@ int main(int argc, char* argv[]) {
curl_easy_strerror(res));
exit(1);
}
+ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_cleanup(curl);
}
- return 0;
+
+ return input_data(buffer, false);
+}
+
+int
+main(int argc, char* argv[]) {
+ Input input;
+ if (argc > 1) {
+ input = download(argv[1]);
+ } else {
+ input = input_data(cin, true);
}
- curl_global_init(CURL_GLOBAL_ALL);
- Input in = input_data(cin, false);
- auto bins = make_histogramm(in.numbers, in.bin_count);
+ const auto bins = make_histogramm(input.numbers, input.bin_count);
show_histogram_svg(bins);
- return 0;
}
diff --git a/unittest.layout b/unittest.layout
index b106504..ef427a5 100644
--- a/unittest.layout
+++ b/unittest.layout
@@ -2,9 +2,14 @@
+
+
+
+
+
-
+
@@ -17,9 +22,4 @@
-
-
-
-
-