+#include "../include/bitmapvalidator.h"\r
+#include "../include/freenet/captcha/easybmp/EasyBMP.h"\r
+\r
+#include <sstream>\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
+ 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
+ {\r
+ validated=true; \r
+ }\r
+\r
+ unlink(tempname.str().c_str());\r
+ \r
+ }\r
+ \r
+ return validated;\r
+}\r