Hi,
Thanks Claudiu, this is certainly a bug, the checking should be done after increasing the used space ---- memmove(ResData ->Block + ResData ->Pointer, Ptr, size); ResData ->Pointer += size; iohandler->UsedSpace += size; if (ResData ->Pointer > iohandler->UsedSpace) iohandler->UsedSpace = ResData ->Pointer; return TRUE; --- Thanks for reporting! Regards Marti Claudiu Cebuc <cce...@gmail.com> escribió: > Hi, > > > By trying to generate some CSA/CRD resources I have noticed that the > reported size of the actual CSA/CRD writing is bigger than the estimated > size obtained on the NULL stream. > > Namely, it looks that the problem reside in the MemoryWrite, in maintaining > the iohandler->UsedSpace: > > > static > > cmsBool MemoryWrite(struct _cms_io_handler* iohandler, cmsUInt32Number > size, const void *Ptr) > > { > > FILEMEM* ResData = (FILEMEM*) iohandler ->stream; > > if (ResData == NULL) return FALSE; // Housekeeping > > if (size == 0) return TRUE; // Write zero bytes is ok, but does > nothing > > > memmove(ResData ->Block + ResData ->Pointer, Ptr, size); > > ResData ->Pointer += size; > > > > if (ResData ->Pointer > iohandler->UsedSpace) > > iohandler->UsedSpace = ResData ->Pointer; > > > > iohandler->UsedSpace += size; // <== I guess that this line of code > should be removed > > > return TRUE; > > } > > > Best Regards, > > Claudiu. > ------------------------------------------------------------------------------ Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user