imager.git
15 months agotest we don't use vars and that we have use 5.006.
Tony Cook [Sun, 14 Jun 2020 03:12:43 +0000 (13:12 +1000)]
test we don't use vars and that we have use 5.006.

15 months agomore changes
Tony Cook [Sat, 13 Jun 2020 06:27:17 +0000 (16:27 +1000)]
more changes

15 months agoeliminate use vars
Tony Cook [Sat, 13 Jun 2020 06:25:47 +0000 (16:25 +1000)]
eliminate use vars

15 months agoupdate Changes
Tony Cook [Sat, 13 Jun 2020 04:46:00 +0000 (14:46 +1000)]
update Changes

15 months agolibt1 support is deprecated
Tony Cook [Sat, 13 Jun 2020 04:45:45 +0000 (14:45 +1000)]
libt1 support is deprecated

15 months agoImager is moving to github
Tony Cook [Sat, 13 Jun 2020 04:42:10 +0000 (14:42 +1000)]
Imager is moving to github

16 months agodeprecate Imager::Font::T1
Tony Cook [Thu, 21 May 2020 08:31:57 +0000 (18:31 +1000)]
deprecate Imager::Font::T1

16 months agoupdate MANIFEST
Tony Cook [Sun, 17 May 2020 01:44:33 +0000 (11:44 +1000)]
update MANIFEST

though I'm not sure I want this shipped with the dist

16 months agobump $Imager::Font::FT2::VERSION
Tony Cook [Fri, 27 Mar 2020 08:48:24 +0000 (19:48 +1100)]
bump $Imager::Font::FT2::VERSION

16 months agofreetype-config might not be available, allow pkg-config to work
Tony Cook [Fri, 27 Mar 2020 08:39:57 +0000 (19:39 +1100)]
freetype-config might not be available, allow pkg-config to work

16 months agobump $Imager::Probe::VERSION
Tony Cook [Fri, 27 Mar 2020 08:47:03 +0000 (19:47 +1100)]
bump $Imager::Probe::VERSION

16 months agocygwin can use an empty extension for exes too
Tony Cook [Fri, 27 Mar 2020 08:39:25 +0000 (19:39 +1100)]
cygwin can use an empty extension for exes too

16 months agoadd github action for CI on cygwin
Tony Cook [Fri, 27 Mar 2020 05:13:19 +0000 (16:13 +1100)]
add github action for CI on cygwin

16 months agoadd github action for CI on OS X
Tony Cook [Sun, 22 Mar 2020 00:57:42 +0000 (11:57 +1100)]
add github action for CI on OS X

16 months agoadd github action for CI on mingw64
Tony Cook [Sat, 21 Mar 2020 09:06:27 +0000 (20:06 +1100)]
add github action for CI on mingw64

16 months agoadd github action for CI on linux
Tony Cook [Sat, 21 Mar 2020 08:25:20 +0000 (19:25 +1100)]
add github action for CI on linux

16 months agoupdate desired debian packages
Tony Cook [Sun, 17 May 2020 01:09:16 +0000 (11:09 +1000)]
update desired debian packages

17 months agoensure alpha channels are initialized for mediancut make_colors
Tony Cook [Fri, 27 Mar 2020 06:32:30 +0000 (17:32 +1100)]
ensure alpha channels are initialized for mediancut make_colors

This could result in a 4 channel paletted image with some random
alpha channel.

CPAN #132237

17 months agoadd red, green, blue, alpha methods to color objects
Tony Cook [Fri, 27 Mar 2020 06:30:00 +0000 (17:30 +1100)]
add red, green, blue, alpha methods to color objects

18 months agoC<> filter keywords to avoid trying to spellcheck them
Tony Cook [Sat, 21 Mar 2020 01:04:57 +0000 (12:04 +1100)]
C<> filter keywords to avoid trying to spellcheck them

Pod::Spell (or something in the pipeline) appeared to be passing the
"guassian2" through with the "2" stripped despite the stopword.

18 months agoLeolo's guassian2 patch
Tony Cook [Sat, 21 Mar 2020 00:47:31 +0000 (11:47 +1100)]
Leolo's guassian2 patch

https://rt.cpan.org/Ticket/Display.html?id=129769

2 years ago1.011 release v1.011
Tony Cook [Thu, 7 Mar 2019 03:17:45 +0000 (14:17 +1100)]
1.011 release

2 years agomore Changes updates
Tony Cook [Thu, 7 Mar 2019 03:12:28 +0000 (14:12 +1100)]
more Changes updates

2 years agodon't leak in DSO_open() on various failures
Tony Cook [Mon, 25 Feb 2019 23:18:51 +0000 (10:18 +1100)]
don't leak in DSO_open() on various failures

DSO_close() now releases memory allocated for the DSO handle.

CID 185309.

2 years agoi_img_make_palette() no longer leaks on quantization failure
Tony Cook [Mon, 25 Feb 2019 22:39:57 +0000 (09:39 +1100)]
i_img_make_palette() no longer leaks on quantization failure

CID 185566

2 years agotranslate_errdiff() could leak memory on failure
Tony Cook [Sat, 23 Feb 2019 03:45:41 +0000 (14:45 +1100)]
translate_errdiff() could leak memory on failure

Introduced when I added error handling

CID 185565

2 years agostart a jpeg dump tool
Tony Cook [Thu, 14 Feb 2019 22:24:52 +0000 (09:24 +1100)]
start a jpeg dump tool

2 years agoadd missing 070-mymeta.t to MANIFEST
Tony Cook [Thu, 14 Feb 2019 22:24:33 +0000 (09:24 +1100)]
add missing 070-mymeta.t to MANIFEST

2 years agoignore more rubbish in MANIFEST.SKIP
Tony Cook [Thu, 14 Feb 2019 22:24:18 +0000 (09:24 +1100)]
ignore more rubbish in MANIFEST.SKIP

2 years agopngdump: move options to the right place in the synopsis
Tony Cook [Thu, 14 Feb 2019 22:13:46 +0000 (09:13 +1100)]
pngdump: move options to the right place in the synopsis

2 years agobinmode the right handle
Tony Cook [Thu, 14 Feb 2019 22:13:25 +0000 (09:13 +1100)]
binmode the right handle

2 years agoChanges updates
Tony Cook [Thu, 14 Feb 2019 08:03:13 +0000 (19:03 +1100)]
Changes updates

2 years agocorrect the type of the im_decode_exif() data parameter
Tony Cook [Thu, 14 Feb 2019 08:01:47 +0000 (19:01 +1100)]
correct the type of the im_decode_exif() data parameter

const foo * and foo* have the same representation so this doesn't
break the ABI.

const unsigned char * will accept all parameter types it did previously.

The only issue is if someone makes a copy of the pointer, but I don't
support that.

2 years agoand the release date
Tony Cook [Wed, 13 Feb 2019 08:19:34 +0000 (19:19 +1100)]
and the release date

2 years agoadd the FT2 encoding symbol change to the main Changes file
Tony Cook [Wed, 13 Feb 2019 08:17:33 +0000 (19:17 +1100)]
add the FT2 encoding symbol change to the main Changes file

2 years agobump to Imager 1.010 v1.010
Tony Cook [Wed, 13 Feb 2019 08:12:27 +0000 (19:12 +1100)]
bump to Imager 1.010

2 years agofix method index entry for add_file_magic()
Tony Cook [Wed, 13 Feb 2019 08:10:43 +0000 (19:10 +1100)]
fix method index entry for add_file_magic()

2 years agonote GIF changes
Tony Cook [Wed, 13 Feb 2019 08:04:17 +0000 (19:04 +1100)]
note GIF changes

2 years agoupdate Changes
Tony Cook [Wed, 13 Feb 2019 07:16:31 +0000 (18:16 +1100)]
update Changes

2 years agotry to fix test failing on chorny's 5.18.2 smoker
Tony Cook [Wed, 13 Feb 2019 07:04:31 +0000 (18:04 +1100)]
try to fix test failing on chorny's 5.18.2 smoker

or at least diagnose it

2 years agoRT#128481: fix handling of GIF files with no images
Tony Cook [Tue, 12 Feb 2019 08:45:35 +0000 (19:45 +1100)]
RT#128481: fix handling of GIF files with no images

2 years agofix an embarassing typo
Tony Cook [Tue, 12 Feb 2019 07:29:54 +0000 (18:29 +1100)]
fix an embarassing typo

2 years agoadd the add_file_magic() class method
Tony Cook [Thu, 7 Feb 2019 11:27:15 +0000 (22:27 +1100)]
add the add_file_magic() class method

For now it's simple, I might extend it at some point to allow
for perl code or regexps for matching

2 years agoremove a pointless NULL check from i_img_destroy()
Tony Cook [Sun, 3 Feb 2019 08:44:15 +0000 (19:44 +1100)]
remove a pointless NULL check from i_img_destroy()

i_img_destroy() access the pointer twice before the check.

2 years agoremove a pointless NULL check from i_flipxy()
Tony Cook [Sun, 3 Feb 2019 08:40:43 +0000 (19:40 +1100)]
remove a pointless NULL check from i_flipxy()

im is deferred earlier to get the context, and passing a NULL or invalid
image pointer in is a bug in the caller.

2 years agorearrange i_new_hatch_low() in fills.c
Tony Cook [Sat, 2 Feb 2019 01:32:07 +0000 (12:32 +1100)]
rearrange i_new_hatch_low() in fills.c

The code used to be a bunch of conditional expressions, which some
Sun C compiler complained about.

Rearrange the code to be a lot more obvious.

Related to CID 185339.

2 years agoadd assertions for callers to i_new_hatch_low() in fills.c
Tony Cook [Sat, 2 Feb 2019 01:28:02 +0000 (12:28 +1100)]
add assertions for callers to i_new_hatch_low() in fills.c

coverity complained that effectively both fg and ffg could be NULL
which isn't the case.  Try to let it know better.

I'm going to rearrange i_new_hatch_low() in the next commit.

CID 185339.

2 years agoensure bmp.c read_packed() calls va_end()
Tony Cook [Sat, 2 Feb 2019 01:11:11 +0000 (12:11 +1100)]
ensure bmp.c read_packed() calls va_end()

CID 185329.

2 years agoadd lint comments where switch() case fallthough is expected in tga parsing
Tony Cook [Sat, 2 Feb 2019 00:50:09 +0000 (11:50 +1100)]
add lint comments where switch() case fallthough is expected in tga parsing

CID 185328.

2 years agoavoid a possible sign-extension for offsets/sizes in SGI
Tony Cook [Sat, 2 Feb 2019 00:45:04 +0000 (11:45 +1100)]
avoid a possible sign-extension for offsets/sizes in SGI

and why is that using + instead of | ?

CID 185326.

2 years agolint comment for the end of pixel_coverage() not reachable
Tony Cook [Sat, 2 Feb 2019 00:31:29 +0000 (11:31 +1100)]
lint comment for the end of pixel_coverage() not reachable

I had compilers complaining about a missing return at the end of
the function, as added a return.  Coverity complains about the
return.

CID 185325.

2 years agoadd missing va_end() in bmp.c's write_packed()
Tony Cook [Sat, 2 Feb 2019 00:29:19 +0000 (11:29 +1100)]
add missing va_end() in bmp.c's write_packed()

In general it wasn't calling va_end() on a write failure.

CID 185320.

2 years agoforgot to document 127575 fix
Tony Cook [Mon, 14 Jan 2019 00:43:29 +0000 (11:43 +1100)]
forgot to document 127575 fix

2 years agouse non-deprecated encoding ids for freetype 2
Tony Cook [Mon, 14 Jan 2019 00:29:53 +0000 (11:29 +1100)]
use non-deprecated encoding ids for freetype 2

2 years agobump gif version
Tony Cook [Mon, 14 Jan 2019 00:29:20 +0000 (11:29 +1100)]
bump gif version

2 years agofix date on 1.009 release in Changes
Tony Cook [Sun, 13 Jan 2019 05:40:12 +0000 (16:40 +1100)]
fix date on 1.009 release in Changes

2 years agoupdate FT2 Changes
Tony Cook [Fri, 11 Jan 2019 09:14:26 +0000 (20:14 +1100)]
update FT2 Changes

2 years agoupdate Changes
Tony Cook [Fri, 11 Jan 2019 09:12:31 +0000 (20:12 +1100)]
update Changes

2 years ago1.009 release v1.009
Tony Cook [Fri, 11 Jan 2019 09:07:28 +0000 (20:07 +1100)]
1.009 release

2 years agomost numeric parameters to the XS implementation now throw an exception if supplied...
Tony Cook [Fri, 11 Jan 2019 08:46:14 +0000 (19:46 +1100)]
most numeric parameters to the XS implementation now throw an exception if supplied an unoverloaded reference.

2 years agoi_circle_aa_low() could buffer overflow
Tony Cook [Thu, 10 Jan 2019 12:24:43 +0000 (23:24 +1100)]
i_circle_aa_low() could buffer overflow

prevent it.  It still needs some work for other reasons.

2 years agoexplain why not all the Coverity issues are addressed
Tony Cook [Wed, 9 Jan 2019 09:12:20 +0000 (20:12 +1100)]
explain why not all the Coverity issues are addressed

2 years agoon't check if the unsigned size supplied to im_set_image_file_limits() is negative
Tony Cook [Mon, 7 Jan 2019 12:18:56 +0000 (23:18 +1100)]
on't check if the unsigned size supplied to im_set_image_file_limits() is negative

2 years agoextend some variable types to avoid overflows for mediancut
Tony Cook [Mon, 7 Jan 2019 12:13:10 +0000 (23:13 +1100)]
extend some variable types to avoid overflows for mediancut

for very large images

2 years agodon't check if the unsigned size passed to mymalloc is negative.
Tony Cook [Mon, 7 Jan 2019 11:59:50 +0000 (22:59 +1100)]
don't check if the unsigned size passed to mymalloc is negative.

2 years agohopefully avoid coverity complaining about a float vs int comparison
Tony Cook [Mon, 7 Jan 2019 11:54:04 +0000 (22:54 +1100)]
hopefully avoid coverity complaining about a float vs int comparison

2 years agoprevent an unsigned overflow in FT1 has_chars() implementation
Tony Cook [Mon, 7 Jan 2019 11:37:19 +0000 (22:37 +1100)]
prevent an unsigned overflow in FT1 has_chars() implementation

2 years agomap() would corrupt a channel if there was a gap in the arrayref of channels.
Tony Cook [Mon, 7 Jan 2019 11:31:33 +0000 (22:31 +1100)]
map() would corrupt a channel if there was a gap in the arrayref of channels.

2 years ago(rt #127575) link to Imager::Install from Imager::Files
Tony Cook [Mon, 7 Jan 2019 11:01:21 +0000 (22:01 +1100)]
(rt #127575) link to Imager::Install from Imager::Files

2 years agoi_img_info() (C API) no longer tries to handle a NULL image object pointer.
Tony Cook [Sun, 6 Jan 2019 04:16:01 +0000 (15:16 +1100)]
i_img_info() (C API) no longer tries to handle a NULL image object pointer.

2 years agofix an unsigned comparison when converting character code to a glyph index with a...
Tony Cook [Sun, 6 Jan 2019 04:11:01 +0000 (15:11 +1100)]
fix an unsigned comparison when converting character code to a glyph index with a NULL character map

2 years agohandle failure to clone the log filehandle when cloning the Imager context
Tony Cook [Sun, 6 Jan 2019 04:03:55 +0000 (15:03 +1100)]
handle failure to clone the log filehandle when cloning the Imager context

2 years agoavoid ignoring the result of i_io_getc()
Tony Cook [Sat, 5 Jan 2019 03:33:22 +0000 (14:33 +1100)]
avoid ignoring the result of i_io_getc()

Coverity complained about *(ig->read_ptr++) because the result of the *
operator was ignored, which was deliberate.

I could simply had added a void cast, but given i_io_peekc(),
I could see a macro that skips the * being simpler to read, adding
i_io_nextc(), which is exposed as the nextc() method on Imager::IO
objects.

2 years agoinvalid quantization options now result in an error rather than defaults
Tony Cook [Sat, 5 Jan 2019 03:09:01 +0000 (14:09 +1100)]
invalid quantization options now result in an error rather than defaults

2 years agosimplify XS for i_img_to_pal()
Tony Cook [Thu, 3 Jan 2019 22:38:50 +0000 (09:38 +1100)]
simplify XS for i_img_to_pal()

2 years agofixes to the fountain filter
Tony Cook [Thu, 3 Jan 2019 11:10:17 +0000 (22:10 +1100)]
fixes to the fountain filter

2 years agoavoid dead code in i_t1_glyph_names().
Tony Cook [Wed, 2 Jan 2019 08:33:16 +0000 (19:33 +1100)]
avoid dead code in i_t1_glyph_names().

2 years agoremove an unneeded check when terminating the stream for JPEG writing.
Tony Cook [Wed, 2 Jan 2019 08:28:09 +0000 (19:28 +1100)]
remove an unneeded check when terminating the stream for JPEG writing.

2 years agoJPEG Changes updates for older releases
Tony Cook [Wed, 2 Jan 2019 08:27:43 +0000 (19:27 +1100)]
JPEG Changes updates for older releases

2 years agohe unpack code for ICO/CUR file handling could extend 32-bit unsigned values to 64...
Tony Cook [Wed, 2 Jan 2019 08:19:56 +0000 (19:19 +1100)]
he unpack code for ICO/CUR file handling could extend 32-bit unsigned values to 64-bit signed.

2 years agoavoid an unneeded EXTEND() call when the FT2 has_chars() implementation returns 0.
Tony Cook [Wed, 2 Jan 2019 08:08:57 +0000 (19:08 +1100)]
avoid an unneeded EXTEND() call when the FT2 has_chars() implementation returns 0.

2 years agoavoid dead code in i_ft2_glyph_name()
Tony Cook [Wed, 2 Jan 2019 08:04:33 +0000 (19:04 +1100)]
avoid dead code in i_ft2_glyph_name()

2 years agoavoid dead code in i_get_anonymous_color_histo()
Tony Cook [Wed, 2 Jan 2019 07:56:32 +0000 (18:56 +1100)]
avoid dead code in i_get_anonymous_color_histo()

2 years agoavoid dead code in i_tt_glyph_names()
Tony Cook [Wed, 2 Jan 2019 07:50:48 +0000 (18:50 +1100)]
avoid dead code in i_tt_glyph_names()

CID 185321

2 years agogradgen allocated sizeof(i_color *) per entry rather than sizeof(i_color)
Tony Cook [Wed, 2 Jan 2019 07:39:28 +0000 (18:39 +1100)]
gradgen allocated sizeof(i_color *) per entry rather than sizeof(i_color)

i_color is four bytes, so this is safe on any arch I've used.

2 years agochange note for the has_chars and MakeMapObject changes
Tony Cook [Wed, 2 Jan 2019 07:36:54 +0000 (18:36 +1100)]
change note for the has_chars and MakeMapObject changes

2 years agoadd CIDs to the changes Coverity fixes
Tony Cook [Wed, 2 Jan 2019 07:30:44 +0000 (18:30 +1100)]
add CIDs to the changes Coverity fixes

2 years agolog only after we've checked MakeMapObject() success
Tony Cook [Wed, 2 Jan 2019 00:10:20 +0000 (11:10 +1100)]
log only after we've checked MakeMapObject() success

CID 185296

2 years agoavoid an unneeded check in the FT1 has_chars() method implementation
Tony Cook [Wed, 2 Jan 2019 00:09:04 +0000 (11:09 +1100)]
avoid an unneeded check in the FT1 has_chars() method implementation

2 years agofix a fence post error validating a combing mode number
Tony Cook [Tue, 1 Jan 2019 01:11:43 +0000 (12:11 +1100)]
fix a fence post error validating a combing mode number

2 years agochange an array parameter decl to a pointer style decl
Tony Cook [Tue, 1 Jan 2019 01:07:39 +0000 (12:07 +1100)]
change an array parameter decl to a pointer style decl

to avoid confusing coverity

2 years agoCoverity complained colors could be left uninitialized.
Tony Cook [Tue, 1 Jan 2019 01:04:30 +0000 (12:04 +1100)]
Coverity complained colors could be left uninitialized.

2 years agocoverity complained minset could be -1
Tony Cook [Tue, 1 Jan 2019 00:07:10 +0000 (11:07 +1100)]
coverity complained minset could be -1

but no callers call i_map() in such a way that it can happen.

Add a belt-and-suspenders check.

2 years agoImager::Color set_internal is now simpler
Tony Cook [Mon, 31 Dec 2018 11:34:06 +0000 (22:34 +1100)]
Imager::Color set_internal is now simpler

Coverity complained that ICL_set_internal() could leak here, but
that's only possible with a NULL pointer PTROBJ, which would break
in many other ways.

2 years agobetter validate numeric hatch values for fills
Tony Cook [Mon, 31 Dec 2018 11:22:01 +0000 (22:22 +1100)]
better validate numeric hatch values for fills

2 years agoadd braces to some multi-line if() and for()
Tony Cook [Mon, 31 Dec 2018 11:11:54 +0000 (22:11 +1100)]
add braces to some multi-line if() and for()

Coverity complained about this code

2 years agoaddi style makemap could potentially read one past the end of an array
Tony Cook [Mon, 31 Dec 2018 11:02:27 +0000 (22:02 +1100)]
addi style makemap could potentially read one past the end of an array

2 years agoagain, convert array style pointer parameter to pointer
Tony Cook [Mon, 31 Dec 2018 10:54:35 +0000 (21:54 +1100)]
again, convert array style pointer parameter to pointer

2 years agoinitialize a pointer to prevent coverity complaints
Tony Cook [Mon, 31 Dec 2018 10:49:51 +0000 (21:49 +1100)]
initialize a pointer to prevent coverity complaints

2 years agocoverity took the 6 elements in the argument as gospel
Tony Cook [Mon, 31 Dec 2018 10:44:42 +0000 (21:44 +1100)]
coverity took the 6 elements in the argument as gospel