annotate decode.cpp @ 5:9241ce1e5abe

Update win95kg.cpp committer: GitHub <noreply@github.com>
author Paper <37962225+mrpapersonic@users.noreply.github.com>
date Mon, 04 Jan 2021 14:21:00 -0500
parents 05978f04869b
children aac9a23bd027
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
1 // requires libcurl
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
2 #include <curl/curl.h>
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
3 #include <iostream>
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
4 #include <string.h>
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
5 #include <fstream>
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
6
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
7 int main(int argc, char *argv[]){
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
8 if(argc != 3){
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
9 std::cout << "usage: " << argv[0] << " <input> <output>";
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
10 return 0;
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
11 }
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
12 std::string encoded;
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
13 CURL *curl = curl_easy_init();
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
14 char somedata[256];
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
15 std::ifstream in(argv[1], std::ios::in | std::ios::binary);
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
16 if (in)
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
17 {
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
18 in.seekg(0, std::ios::end);
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
19 encoded.resize(in.tellg());
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
20 in.seekg(0, std::ios::beg);
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
21 in.read(&encoded[0], encoded.size());
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
22 in.close();
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
23 }
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
24 int outlength;
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
25 char *cres = curl_easy_unescape(curl, encoded.c_str(), encoded.length(), &outlength);
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
26 std::string res(cres, cres + outlength);
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
27 curl_free(cres);
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
28 curl_easy_cleanup(curl);
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
29 std::ofstream myfile2;
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
30 myfile2.open(argv[2]);
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
31 myfile2 << res;
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
32 myfile2.close();
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
33 return 0;
05978f04869b Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff changeset
34 }