README.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/library/LicenseReader.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/library/os/os.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/library/pc-identifiers.c | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/tools/license-generator/license-generator.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/tools/license-generator/license-generator.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
README.md
@@ -47,7 +47,7 @@ make make install # on Windows with MSVC # on Windows with MSVC 2010 cmake .. -G "Visual Studio 10 2010 Win64" -DCMAKE_INSTALL_PREFIX=../install cmake --build . --target install src/library/LicenseReader.cpp
@@ -90,8 +90,9 @@ license->days_left = 999999; } else { strncpy(license->expiry_date, to_date.c_str(), 11); double secs = difftime(time(NULL), seconds_from_epoch(to_date.c_str())); double secs = difftime( seconds_from_epoch(to_date.c_str()), time(NULL)); license->days_left = (int) secs / 60 * 60 * 24; } } src/library/os/os.h
@@ -31,7 +31,7 @@ typedef struct { int id; char description[1024]; unsigned char mac_address[6]; unsigned char mac_address[8]; unsigned char ipv4_address[4]; IFACE_TYPE type; } OsAdapterInfo; src/library/pc-identifiers.c
@@ -153,7 +153,7 @@ return result_diskinfos; } diskInfos = (DiskInfo*) malloc(disk_num * sizeof(DiskInfo)); //memset(diskInfos,0,disk_num * sizeof(DiskInfo)); memset(diskInfos,0,disk_num * sizeof(DiskInfo)); result_diskinfos = getDiskInfos(diskInfos, &disk_num); if (result_diskinfos != FUNC_RET_OK) { free(diskInfos); src/tools/license-generator/license-generator.cpp
@@ -7,6 +7,7 @@ #include <iostream> #include <string.h> #include <iostream> #include <string.h> #include <boost/date_time.hpp> #include <boost/program_options.hpp> #include <boost/algorithm/string.hpp> @@ -76,7 +77,7 @@ if (vm.count("expire_date")) { const std::string dt_end = vm["expire_date"].as<string>(); try { end_date = normalize_date(dt_end.c_str()); end_date = normalize_date(dt_end); char curdate[20]; time_t curtime = time(NULL); strftime(curdate, 20, "%Y-%m-%d", localtime(&curtime)); @@ -90,7 +91,7 @@ if (vm.count("begin_date")) { const std::string begin_date_str = vm["begin_date"].as<string>(); try { begin_date = normalize_date(begin_date_str.c_str()); begin_date = normalize_date(begin_date_str); } catch (invalid_argument &e) { cerr << endl << "Begin date not recognized: " << begin_date_str << " Please enter a valid date in format YYYYMMDD" << endl; @@ -190,22 +191,22 @@ const std::string formats[] = { "%4u-%2u-%2u", "%4u/%2u/%2u", "%4u%2u%2u" }; const size_t formats_n = 3; string LicenseGenerator::normalize_date(const char * s) { string LicenseGenerator::normalize_date(const std::string& sDate) { if(sDate.size()<8) throw invalid_argument("Date string too small for known formats"); unsigned int year, month, day; int chread; bool found = false; for (size_t i = 0; i < formats_n && !found; ++i) { chread = sscanf(s, formats[i].c_str(), &year, &month, &day); if (chread == 3) { const int chread = sscanf(sDate.c_str(),formats[i].c_str(),&year,&month,&day); if(chread==3) { found = true; break; } } if (!found) { throw invalid_argument("Date not recognized."); } if(!found) throw invalid_argument("Date string did not match a known format"); ostringstream oss; oss << year << "-" << setfill('0') << std::setw(2) << month << "-" << day; //delete (facet); oss << year << "-" << setfill('0') << std::setw(2) << month << "-" << setfill('0') << std::setw(2) << day; return oss.str(); } } src/tools/license-generator/license-generator.h
@@ -26,7 +26,7 @@ static vector<FullLicenseInfo> parseLicenseInfo(po::variables_map vm); static void generateAndOutputLicenses(const po::variables_map& vm, ostream& outputFile); static string normalize_date(const char * s); static string normalize_date(const std::string& s); public: /** * Available options: