version 0.3.0
[fms.git] / src / bitmapvalidator.cpp
index 68482c1..771b707 100644 (file)
@@ -1,27 +1,29 @@
 #include "../include/bitmapvalidator.h"\r
 #include "../include/freenet/captcha/easybmp/EasyBMP.h"\r
 \r
+#include <Poco/TemporaryFile.h>\r
+\r
 #include <sstream>\r
+#include <cstdlib>\r
 \r
 const bool BitmapValidator::Validate(const std::vector<unsigned char> &data)\r
 {\r
        bool validated=false;\r
-       std::ostringstream tempname;\r
-       \r
-       tempname << "validatebmp-" << rand() << ".tmp";\r
-       FILE *outfile=fopen(tempname.str().c_str(),"w+b");\r
+       std::string tempname=Poco::TemporaryFile::tempName();\r
+\r
+       FILE *outfile=fopen(tempname.c_str(),"w+b");\r
        if(outfile)\r
        {\r
                fwrite(&data[0],1,data.size(),outfile);\r
                fclose(outfile);\r
                \r
                BMP temp;\r
-               if(temp.ReadFromFile(tempname.str().c_str()))\r
+               if(temp.ReadFromFile(tempname.c_str()))\r
                {\r
                        validated=true; \r
                }\r
 \r
-               unlink(tempname.str().c_str());\r
+               unlink(tempname.c_str());\r
                \r
        }\r
        \r