version 0.1.9
[fms.git] / src / datetime.cpp
index 7d3d4af..f2d85e9 100644 (file)
@@ -14,7 +14,7 @@ DateTime::DateTime()
 \r
 DateTime::DateTime(const time_t &timet)\r
 {\r
-       Set(timet);\r
+       SetT(timet);\r
 }\r
 \r
 DateTime::DateTime(const struct tm *stm)\r
@@ -36,19 +36,11 @@ void DateTime::Add(const int seconds, const int minutes, const int hours, const
 \r
 std::string DateTime::Format(const std::string &formatstring) const\r
 {\r
-       std::string returnval="";\r
-       char *str=new char[512];\r
-       memset(str,0,512);\r
+       std::vector<char> str(256,0);\r
 \r
-       strftime(str,511,formatstring.c_str(),&m_tm);\r
+       size_t len=strftime(&str[0],str.size()-1,formatstring.c_str(),&m_tm);\r
 \r
-       if(str)\r
-       {\r
-               returnval=str;\r
-               delete [] str;\r
-       }\r
-\r
-       return returnval;\r
+       return std::string(str.begin(),str.begin()+len);\r
 }\r
 \r
 void DateTime::Normalize()\r
@@ -207,7 +199,7 @@ void DateTime::Set(const int year, const int month, const int day, const int hou
        Normalize();\r
 }\r
 \r
-void DateTime::Set(const time_t &timet)\r
+void DateTime::SetT(const time_t &timet)\r
 {\r
        m_timet=timet;\r
 \r
@@ -226,7 +218,7 @@ void DateTime::Set(const std::string &datestring)
 {\r
        int year,month,day,hour,minute,second;\r
        std::vector<std::string> tokens;\r
-       int vecpos;\r
+       std::vector<std::string>::size_type vecpos;\r
        int tempint;\r
 \r
        year=month=day=hour=minute=second=-1;\r