vips__get_bytes() used to fail if the file was too small for the
allocated buffer, which was a problem for svg, since files can be extremely
small.
This change makes vips__get_bytes() return the number of bytes read, so
the is_a testers can work on files smaller than the max header size.
We had 128-pixel high strips for pdfload. This kept mem use very low,
but meant many calls to page_render. For a tall page with an image
background, we could take almost an hour to render a single page as the
background was repeatedly repainted.
Change the strip height to 5000. This will render most pages in a single
call, but still allow huge images.
See https://github.com/jcupitt/libvips/issues/681
various cosmetic changes:
- pngsave_buffer now uses Write, not WriteBuf, same change for
radsave_buffer
- move C wrappers out to class defs from foreign.c
- use g_free() not vips_free() for buffer free from low-level savers
- fix var names in some comments
- various style changes for radiance.c