bool BmpLoader::detect(const std::string &sig)
{
- static const char bmp_sig[] = "BM";
+ static const char bmp_sig[] = { 'B', 'M' };
if(sig.size()<sizeof(bmp_sig))
return false;
- return !sig.compare(0, 2, bmp_sig);
+ return !sig.compare(0, sizeof(bmp_sig), bmp_sig, sizeof(bmp_sig));
}
void BmpLoader::load(Image::Data &data)
skip -= size;
}
- data.data = new char[data.stride*data.height];
+ data.pixels = new char[data.stride*data.height];
if(height<0)
{
for(unsigned y=0; y<data.height; ++y)
- read_full(io, data.data+(data.height-1-y)*data.stride, data.stride);
+ read_full(io, data.pixels+(data.height-1-y)*data.stride, data.stride);
}
else
{
for(unsigned y=0; y<data.height; ++y)
- read_full(io, data.data+y*data.stride, data.stride);
+ read_full(io, data.pixels+y*data.stride, data.stride);
}
}