771b707eca577677011710deeb137206f86541bc
[fms.git] / src / bitmapvalidator.cpp
1 #include "../include/bitmapvalidator.h"\r
2 #include "../include/freenet/captcha/easybmp/EasyBMP.h"\r
3 \r
4 #include <Poco/TemporaryFile.h>\r
5 \r
6 #include <sstream>\r
7 #include <cstdlib>\r
8 \r
9 const bool BitmapValidator::Validate(const std::vector<unsigned char> &data)\r
10 {\r
11         bool validated=false;\r
12         std::string tempname=Poco::TemporaryFile::tempName();\r
13 \r
14         FILE *outfile=fopen(tempname.c_str(),"w+b");\r
15         if(outfile)\r
16         {\r
17                 fwrite(&data[0],1,data.size(),outfile);\r
18                 fclose(outfile);\r
19                 \r
20                 BMP temp;\r
21                 if(temp.ReadFromFile(tempname.c_str()))\r
22                 {\r
23                         validated=true; \r
24                 }\r
25 \r
26                 unlink(tempname.c_str());\r
27                 \r
28         }\r
29         \r
30         return validated;\r
31 }\r