]> WPIA git - cassiopeia.git/blobdiff - src/util.cpp
fix: use correct prepared statement for writing logs
[cassiopeia.git] / src / util.cpp
index d2667fad891951775a7d3abbb5cf89a76716fe15..224613e7caff236cab5df05f5027a930d664c668 100644 (file)
@@ -29,7 +29,7 @@ std::string writeBackFile( const std::string& serial, const std::string& cert, c
 
     if( 0 != mkdir( filename.c_str(), 0755 ) ) {
         if( EEXIST != errno ) {
-            return "";
+            throw std::runtime_error( "Storage location could not be determined" );
         }
 
         //! \FIXME: Check this is a directory
@@ -89,13 +89,14 @@ std::pair<bool, time_t> parseDate( const std::string& date ) {
         return std::pair<bool, time_t>( false, 0 );
     }
 
-    std::tm t;
+    std::tm t = {};
     t.tm_sec = 0;
     t.tm_min = 0;
     t.tm_hour = 0;
-    t.tm_year = std::stoi( date.substr( 0, 4 ) ) - 1900;
-    t.tm_mon = std::stoi( date.substr( 5, 2 ) ) - 1;
     t.tm_mday = std::stoi( date.substr( 8, 2 ) );
+    t.tm_mon = std::stoi( date.substr( 5, 2 ) ) - 1;
+    t.tm_year = std::stoi( date.substr( 0, 4 ) ) - 1900;
+
     setenv( "TZ", "UTC", 1 );
     tzset();
     std::time_t res = mktime( &t );
@@ -116,7 +117,7 @@ std::pair<bool, time_t> parseDate( const std::string& date ) {
 }
 
 std::pair<bool, time_t> addMonths( std::time_t t, int32_t count ) {
-    std::tmparsed = gmtime( &t );
+    std::tm *parsed = gmtime( &t );
 
     if( !parsed || count <= 0 || count > 24 ) { // FIXED MAX-Validity-Length
         return std::pair<bool, time_t>( false, 0 );
@@ -143,7 +144,7 @@ std::pair<bool, time_t> parseMonthInterval( std::time_t t, const std::string& da
 
     try {
         size_t end = 0;
-        int num = std::stoi( date.substr( 0, date.size() - 1 ) , &end );
+        int num = std::stoi( date.substr( 0, date.size() - 1 ), &end );
 
         if( end != date.size() - 1 ) {
             return  std::pair<bool, time_t>( false, 0 );
@@ -178,7 +179,7 @@ std::pair<bool, time_t> parseYearInterval( std::time_t t, const std::string& dat
     }
 }
 
-std::unique_ptr<std::ofstream> openLogfile( const std::string &name ) {
+std::unique_ptr<std::ofstream> openLogfile( const std::stringname ) {
     struct stat buffer;
     std::string tname = name;
     int ctr = 2;
@@ -187,19 +188,21 @@ std::unique_ptr<std::ofstream> openLogfile( const std::string &name ) {
         tname = name + "_" + std::to_string( ctr++ );
     }
 
-    auto res = make_unique<std::ofstream>( tname );
+    auto res = std::make_unique<std::ofstream>( tname );
 
     if( ! res->good() ) {
-        throw std::string( "Failed to open file for logging: " ) + name;
+        throw std::runtime_error( std::string( "Failed to open file for logging: " ) + name );
     }
 
     return res;
 }
 
-std::string timestamp(){
+std::string timestamp() {
     time_t c_time;
+
     if( time( &c_time ) == -1 ) {
         throw std::runtime_error( "Error while fetching time?" );
     }
+
     return std::to_string( c_time );
 }