]> git.imager.perl.org - imager.git/blob - Changes
0.66 release
[imager.git] / Changes
1 Imager release history.  Older releases can be found in Changes.old
2
3 Imager 0.66 - 12 Dec 2008
4 ===========
5
6  - 24-bit color .ICO/.CUR files can now be read.
7
8 Bug fixes:
9
10  - an optimization skipping 0 src alpha values could cause the
11    rubthrough() to read past the end of a buffer.
12    http://www.nntp.perl.org/group/perl.cpan.testers/2008/05/msg1509184.html
13
14  - corrected a reference leak where writing GIFs would leak memory.
15    This could also happen calling to_paletted().
16    Also documented the underlying long existing feature where the
17    colors parameter is filled with the generated color table and added
18    tests for it.
19    http://rt.cpan.org/Ticket/Display.html?id=41028
20
21  - write out the image size in bytes field of a BMP correctly.
22    http://rt.cpan.org/Ticket/Display.html?id=41406
23
24  - add limited tests for Imager::ExtUtils
25
26  - make Imager::ExtUtils->includes use an absolute path, since
27    a relative path could cause failures using Inline::C.
28    http://rt.cpan.org/Ticket/Display.html?id=37353
29
30  - re-arrange the POD for Imager::Font::BBox:
31    - mark total_width(), pos_width(), end_offset() obsolete, since
32      they're mostly for backwards compatibility
33    - group width methods and height methods
34    https://rt.cpan.org/Ticket/Display.html?id=39999
35
36 Imager 0.65 - 20 May 2008
37 ===========
38
39 Bug fixes:
40
41  - In some cases when an error occurs reading those parts of a JPEG
42    file after the image the scan-line buffer could be freed a second
43    time.  In cases where the the error occured while reading the image
44    data it's possible that the buffer could have leaked.
45    Thanks to Gabriel Vasseur for reporting this and help in tracking
46    it down.
47
48  - the gif_screen_height tag was overriding the screen width and being
49    ignored for the screen height when present.
50    https://rt.cpan.org/Public/Bug/Display.html?id=35568
51
52 Imager 0.64 - 23 April 2008
53 ===========
54
55 This is a bug fix release.  This includes a fix for a possible
56 security issue.
57
58 Bug fixes:
59
60  - Possible security issue: The floating point sample path for image
61    based fills had a buffer overflow.  This would overwrite the end of
62    a malloc()ed buffer with double precision floats.
63    http://rt.cpan.org/Ticket/Display.html?id=35324
64    CVE-2008-1928
65
66  - check that the result of fileno($fh) is defined rather than simply
67    true when read() or write() is supplied with an fh parameter.
68    http://rt.cpan.org/Ticket/Display.html?id=35139
69
70  - i_scale_axis() wasn't checking the result of i_img_new_ch()
71    resulting in a SIGSEGV when attempting to scale an image to a size
72    too large to fit in memory.  This is a NULL pointer access issue,
73    not a buffer overflow.
74    Added a check for the failure.
75    scale_calculate() (and hence scale()) will now fail if any of the
76    scale size parameters are a reference.
77    http://rt.cpan.org/Ticket/Display.html?id=35172
78
79  - Regression: filling a greyscale image with a hatch used the wrong
80    color channels from the supplied fg/bg colors.
81    https://rt.cpan.org/Ticket/Display.html?id=35278
82
83  - fixed a related problem for image fills.
84
85 Imager 0.63 - 7 April 2008
86 ===========
87
88 This release primarily contains changes to improve ease of use -
89 rather than you having to convert images to the appropriate number of
90 channels, Imager handles it internally.  How to handle drawing colors
91 and the default combine mode is a thornier problem left for some other
92 release.
93
94  - the font libraries are now only initialized when needed.
95    http://rt.cpan.org/Ticket/Display.html?id=28825
96
97  - moved the imtoc.perl code into Imager::Preprocess
98
99  - paste() and rubthrough() now adapt the source image data to the
100    destination, so you can now safely paste/rubthrough from greyscale
101    images to color images or back, or from alpha channel images to
102    noalpha channels or back.
103    https://rt.cpan.org/Ticket/Display.html?id=30908
104
105  - rubthrough() now falls back to pasting when the source doesn't have
106    an alpha channel.  This effectively treats the source as having a
107    max alpha channel, the right thing to do.
108    http://rt.cpan.org/Ticket/Display.html?id=29944
109
110  - re-worked most of the area filling code to use a common set of
111    functions when filling.
112    Corrected normal combine mode.
113    Rewrote most of the combine modes to match the way the SVG draft
114    defines them with respect to a translucent source and destination.
115    Added tests for translucent source and destination.
116    Added tests to check 8-bit/sample and double/sample combines work
117    similarly.
118    https://rt.cpan.org/Ticket/Display.html?id=29879
119
120  - writing a 2 or 4 channel image to a JPEG file will now write that
121    image as if composited against a background, black by default,
122    overridable with the i_background tag/parameter.
123    https://rt.cpan.org/Ticket/Display.html?id=29876
124
125  - writing a 2 or 4 channel image to a PGM/PPM file will now write
126    that image as if composited against a background, black by default,
127    overridable with the i_background tag/parameter.
128    http://rt.cpan.org/Ticket/Display.html?id=30074
129
130  - writing a 2 or 4 channel image to a BMP file will now write that
131    image as if composited against a background, black by default,
132    overridable with the i_background tag/parameter.
133    http://rt.cpan.org/Ticket/Display.html?id=30075
134
135 Bug fixes:
136
137  - Imager::Matrix2d->translate() now only requires one of the x or y
138    parameters.
139    http://rt.cpan.org/Ticket/Display.html?id=29937
140
141  - mixing qtype scaling now sets all channels of a pixel to zero if
142    the pixel has zero coverage (zero alpha).  This should produce more
143    compressible output files.
144    http://rt.cpan.org/Ticket/Display.html?id=32324
145
146  - removed the pointless #! line from lib/Imager/Font/Wrap.pm
147    Noticed when I saw:
148    https://bugzilla.redhat.com/show_bug.cgi?id=166254
149    I'm not changing the #! lines of the sample code, since it's sample
150    code, not intended for installation.
151    http://rt.cpan.org/Ticket/Display.html?id=33408
152
153  - some TGA images weren't being detected correctly as TGA images
154    https://rt.cpan.org/Ticket/Display.html?id=32925
155
156  - handling of the left-over bit for 16-bit/pixel TGA images has been
157    changed to match the behaviour of the GIMP.  Previously the bit
158    being set was treated as an opaque pixel, but one user reported a
159    problem with loading such an image.  I haven't been able to find any
160    tools beyond the GIMP that handle alpha-channel 16-bit TGAs, so
161    I'll match it's behaviour.  See issue 114913 in the GIMP's
162    bugzilla.
163    http://rt.cpan.org/Ticket/Display.html?id=32926
164
165 Imager 0.62 - 10 December 2007
166 ===========
167
168  - Makefile.PL now expands ~/path supplied to --incpath or --libpath
169    to /path under your home directory.
170    http://rt.cpan.org/Ticket/Display.html?id=29484
171
172  - the old dynaload code used Mach API functions to load dynamic
173    libraries on Mac OS X.  These APIs have been deprecated in OS X
174    10.5 and were causing some build problems.
175    So henceforth Imager uses the dlopen() family of functions, and you 
176    will need version 10.3 or later of OS X.
177
178  - added the det() function to the transform2() engine.
179    added the sample quad_to_square.pl
180    Courtesy Richard Fairhurst.
181    http://rt.cpan.org/Ticket/Display.html?id=31244
182
183 Bug fixes:
184
185  - samples/gifscale.pl sourced the base value for gif_top from
186    gif_left.
187    Thanks to Eleneldil G. Arilou for pointing this out.
188
189  - t/t82inline.t no longer loads B at runtime, to work around a bug
190    in some 5.005_0[45] installations.
191    http://rt.cpan.org/Ticket/Display.html?id=30508
192
193  - work around Module::Depends::Intrusive bug #21229
194    http://rt.cpan.org/Ticket/Display.html?id=30520
195
196  - the hardinvert filter no-longer inverts the alpha channel.
197    http://rt.cpan.org/Ticket/Display.html?id=30002
198
199  - the hardinvert filter now supports large samples
200
201 Imager 0.61_02 - 28 November 2007
202 ==============
203
204  - major TIFF support re-work
205    http://rt.cpan.org/Ticket/Display.html?id=20329
206
207  - added a C level image interface for accessing samples from 1-32
208    bits, exposed this at the perl level in getsamples()
209
210  - the conv filter now works at floating point precision for high bit
211    images
212
213  - added is_bilevel method to test whether an image should be written as
214    a bilevel image if the image format supports it.
215
216  - added -log-stderr as an Imager import list option
217
218  - added some important types to Imager::APIRef
219
220  - added test_image_double() to Imager::Test
221
222 Bug fixes:
223
224  - Imager::Fountain couldn't read GIMP gradient files with 10 or more
225    segments
226
227  - the scale() method with qtype mixing now handles images with an
228    alpha channel correctly.
229
230  - fixed a broken link from the "animated GIF" entry in the concept index.
231    Thanks to Slaven Rezic.
232    http://rt.cpan.org/Ticket/Display.html?id=30889
233
234  - on some perl's the infix expression parser test would fail due to
235    actions in the grammar returning false.  Made sure all actions return
236    a true value.
237    Thanks to Richard Fairhurst for spending a lot of time in tracking
238    down this problem.
239    http://rt.cpan.org/Public/Bug/Display.html?id=29562
240
241 Imager 0.61 - 5 November 2007
242 ===========
243
244  - added samples/gifscale.pl, which adjusts the screen size/position tags
245    when scaling an animated gif
246    http://rt.cpan.org/Ticket/Display.html?id=27591
247
248 Bug fixes:
249
250  - correct handling of sz in matrix_transform() - this should allow
251    perspective type transformations to work now.
252    http://rt.cpan.org/Ticket/Display.html?id=29936
253
254  - prevent a cast to integer warning on x64 builds in datatypes.c
255    also fixed some other type warnings
256    https://rt.cpan.org/Ticket/Display.html?id=30204
257
258  - some sub-directory tests depended on files produced by the parent
259    directory tests
260    http://rt.cpan.org/Ticket/Display.html?id=30203
261
262  - Imager::Font::Wrap doesn't correctly set savepos
263    thanks to Nikita Dedik and Eleneldil G. Arilou for reporting this.
264    http://rt.cpan.org/Ticket/Display.html?id=29771
265
266  - test 171 in t/t01introvert.t was failing on perls configured to
267    use long double.
268    http://rt.cpan.org/Ticket/Display.html?id=29413
269
270  - the code for the transform2() uminus operator was missing a break.
271    Added tests for better code coverage of the ops.
272    http://rt.cpan.org/Ticket/Display.html?id=29296
273
274  - the SGI RLE compression code could overflow its compression buffer
275    http://rt.cpan.org/Ticket/Display.html?id=30334
276
277  - the 32-bit output function used by the SGI code only handled values
278    under 0x10000.  This was most noticable when writing large RLE images.
279    http://rt.cpan.org/Ticket/Display.html?id=30335
280
281  - validate chan_count for chans == NULL for each of the i_gsamp()
282    implementations.
283    http://rt.cpan.org/Ticket/Display.html?id=28985
284
285  - attempt to work around the test failure at 
286    http://www.nntp.perl.org/group/perl.cpan.testers/2007/09/msg650810.html
287    http://rt.cpan.org/Ticket/Display.html?id=29562
288
289  - improve the error messages produced when attempting to read or write
290    an unknown image file format.
291    http://rt.cpan.org/Ticket/Display.html?id=30103
292
293  - improve the transform2() documentation
294    http://rt.cpan.org/Ticket/Display.html?id=29267
295
296  - correctly generate the author key in META.yml
297    http://rt.cpan.org/Ticket/Display.html?id=30377
298
299  - correctly blend a rotated (or matrix_transformed()) image when
300    performing interpolation in the presence of an alpha channel.
301    Also corrected the centring of the rotated image on the output
302    image.
303
304 Imager 0.60 - 30 August 2007
305 ===========
306
307  - Finished/rewrote Arnar's old SGI RGB file format support, so Imager
308    now has full SGI RGB image format, including RLE and 16-bit/sample
309    images.
310    https://rt.cpan.org/Ticket/Display.html?id=8666
311
312  - logging functions are now available in the API
313
314  - applied Gabriel Vasseur's patch
315    added documentation, further tests, and support for greyscale images
316    Obviously problems are my fault :)
317    https://rt.cpan.org/Ticket/Display.html?id=28142
318
319  - the mask for ICO/CUR images is now applied as an alpha channel to
320    the returned image.  For the old behaviour, supply ico_masked => 0
321    to read() or read_multi().  This should be less confusing when
322    using Imager as a general image processor.
323    https://rt.cpan.org/Ticket/Display.html?id=29001
324
325 Bug fixes:
326
327  - in some cases it's possible for giflib/libungif to return color 
328    indexes outside the range of colors defined by the image's palette.
329    We now expand the palette to match the indexes used.
330    Thanks to Gabriel Vasseur for reporting this.
331
332  - fixed various memory leaks that could occur when failing to read png,
333    jpeg, bmp or tga files.
334
335  - to avoid confusion, channels not present in the image are returned as
336    zero by getscanline().  This has no effect on the C level i_glin()
337    and i_glinf() API functions which continue to not set the unused
338    channels.
339
340  - the convert() method now returns an image of the same sample size as
341    the source image.
342    https://rt.cpan.org/Ticket/Display.html?id=28492
343
344  - remove repeated text in Imager::Files
345    http://rt.cpan.org/Ticket/Display.html?id=27589
346
347  - be even more explicit that scale() and friends don't modify the source
348    image, but return a new image.
349    http://rt.cpan.org/Ticket/Display.html?id=28570
350
351  - improve the error message from errstr() when you try to load a font
352    for which the driver hasn't been built in Imager.
353    http://rt.cpan.org/Ticket/Display.html?id=27571
354
355  - transparency is now enabled by default when writing GIF images
356    http://rt.cpan.org/Ticket/Display.html?id=27615
357
358  - Imager would not load on Windows 98
359    http://rt.cpan.org/Ticket/Display.html?id=27653
360
361 Imager 0.59 - 14 June 2007
362 ===========
363
364 Bug fixes:
365
366  - fixes a regression introduced by the fixes for RT 11972
367    http://rt.cpan.org/Ticket/Display.html?id=27546
368
369  - cropping outside the image would return an Imager object with
370    no low-level image object, instead of returning false.
371    Fixed by: Philip Gwyn (Leolo)
372    http://rt.cpan.org/Ticket/Display.html?id=27509
373
374 Imager 0.58 - 16 May 2007
375 ===========
376
377 No significant changes from 0.57_01.
378
379 Imager 0.57_01 - 11 May 2007
380 ==============
381
382  - added to_rgb16 to produce a 16-bit/sample version of an image
383
384  - improve freetype 1.x text output efficiency
385
386 Bug fixes:
387
388  - search another place for rgb.txt, and check all the places 
389    Imager::Color checks when deciding whether to skip testing it
390    http://rt.cpan.org/Ticket/Display.html?id=26064
391
392  - use a convolution kernel size based on the stddev rather than a
393    fixed size when performing a gaussian blur
394    http://rt.cpan.org/Ticket/Display.html?id=25645
395
396  - document the difference() method's mindist parameter, and debug it.
397
398  - put the Imager release number in the Inline::C generated code to
399    regenerate Inline code when a new release of Imager is installed.
400    http://rt.cpan.org/Ticket/Display.html?id=26278
401
402  - fix rendering on alpha channel images for the FreeType 1.x driver.
403    http://rt.cpan.org/Ticket/Display.html?id=11972
404
405  - fix rendering on alpha channel images for the T1lib driver.
406    http://rt.cpan.org/Ticket/Display.html?id=11972
407
408  - reworked library probing, we can now set more than one probe
409    function for a library.  Disabled the default (non-freetype-config)
410    library probe and added an extra probe function that searches for
411    both ft2build.h and whatever it includes, and adds -I as needed.
412    Hopefully this will fix build problems like
413    http://www.nntp.perl.org/group/perl.cpan.testers/2007/05/msg472281.html
414    http://rt.cpan.org/Ticket/Display.html?id=26086
415
416 Imager 0.57 - 30 Apr 2007
417 ===========
418
419 This is a maintenence release fixing a security issue in Imager.
420
421  - CRITICAL: a specially crafted compressed BMP file can cause a buffer
422    overflow in malloced memory.  There will be further discussion of
423    this issue in the ticket below.
424    http://rt.cpan.org/Ticket/Display.html?id=26811
425    CVE-2007-2459  CVE-2007-2413
426    The descriptions at cve.mitre.org varied in quality, please see the
427    ticket at rt.cpan.org for a more accurate description of the issue.
428
429 Imager 0.56 - 1 Apr 2007
430 ===========
431
432  - added support for reading 16-bit/sample PGM/PPM images
433
434  - added support for writing 16-bit/sample PGM/PPM images
435
436  - improved performance of reading PBM/PGM/PPM images
437
438  - added support for writing PBM images if the image is paletted and
439    contains only black and white
440
441  - added a new make_colors value - "mono"
442
443  - switched from the svn log Changes to a manual Changes to reduce
444    noise
445
446  - new sample code - samples/flasher.pl
447
448 Bug fixes:
449
450  - CRITICAL: the "Imager" typemap entry (not used by Imager itself)
451    was returning an image object with an extra reference, this
452    resulted in a memory leak.
453    http://rt.cpan.org/Ticket/Display.html?id=24992
454
455  - fix rendering on alpha channel images for the FreeType 2.x driver
456    http://rt.cpan.org/Ticket/Display.html?id=11972
457
458  - reading bmp files now consitently handles short reads.  You can now
459    supply a parameter to treat a short read as successful and set
460    i_incomplete
461    http://rt.cpan.org/Ticket/Display.html?id=8426
462
463  - previously, reading ASCII PBM files required spaces between samples,
464    even though the format doesn't require that
465
466  - improved documentation of the unsharpmask filter (I hope)
467    http://rt.cpan.org/Ticket/Display.html?id=25531
468
469  - force flushing of the output from i_tt_dump_names() and test output
470    in t/t35ttfont.t to prevent output from being mixed up.
471    https://rt.cpan.org/Ticket/Display.html?id=24859
472
473  - rewrite a conditional expression as an if() to hopefully work around
474    a bug in the pre-4.0 GCC Apple shipped with OS X 10.4.
475    https://rt.cpan.org/Ticket/Display.html?id=25561
476
477  - avoid Data::Dumper in regops.perl to support older releases of perl
478    https://rt.cpan.org/Ticket/Display.html?id=24391
479
480 Imager 0.55 - 16 Dec 2006
481 ===========
482
483 This is primarily a bug fix release.
484
485 Note: Test::More is now a pre-requisite for Imager and is no longer bundled.
486
487 There is one new feature:
488
489  - the Win32 font driver now supports UTF8 (RT 22166)
490    http://www.cpanforum.com/threads/3276
491    http://rt.cpan.org/Ticket/Display.html?id=22166
492
493 Several bugs were fixed:
494
495  - the string() method would not output the string "0"
496    http://rt.cpan.org/Public/Bug/Display.html?id=21770
497
498  - fills.c was failing to compile on Solaris 10 (compiler unknown)
499    http://rt.cpan.org/Public/Bug/Display.html?id=21944
500
501  - the gif_disposal and gif_user_input tags weren't being read from
502    the file correctly
503    http://rt.cpan.org/Public/Bug/Display.html?id=22192
504
505  - gif.c was failing to build under MSVC
506    http://rt.cpan.org/Ticket/Display.html?id=23922
507
508  - in some cases strings passed to the string() method were treated as
509    terminated by NUL (chr 0)
510    http://rt.cpan.org/Public/Bug/Display.html?id=21770
511
512  - on "MSWin32" perl builds we now link to -lzlib instead of -lz since
513    that's the default build name for zlib on Win32.
514    http://rt.cpan.org/Ticket/Display.html?id=23064
515
516  - search $Config{incpath} for headers too, which we should have been
517    doing all along.
518
519 Win32 font driver fixes:
520
521  - the global descent value from bounding box was the wrong sign
522    http://www.cpanforum.com/threads/3276
523
524  - if the first or last glyph overflowed the left or right side of the
525    advance width they would be clipped
526
527
528 Imager 0.54 - 14 Sep 2006
529 ===========
530
531 This is primarily a feature release:
532
533  - a new qtype value 'mixing' has been added to the scale()
534    method. This is faster than 'normal', slower than 'preview'. This
535    is based on the method used by pnmscale, and seems to produce less
536    blurry results than normal.
537    http://rt.cpan.org/Public/Bug/Display.html?id=20677
538
539  - the rubthrough() method can now render onto images with an alpha
540    channel.
541    http://rt.cpan.org/Ticket/Display.html?id=20678
542
543  - the read_multi() method now falls back to calling doing a single
544    image read via the read() method and write_multi() will now fall
545    back to calling write() if a single image is supplied. This means
546    you can simply call the read_multi() or write_multi() functions
547    without having to check if the type is formatted by that method.
548    http://rt.cpan.org/Ticket/Display.html?id=19457
549    http://rt.cpan.org/Ticket/Display.html?id=19458
550
551  - the GIF loop extension can now be written. If you don't have
552    libungif/giflib 4.1.4 (or some distribution's bugfixed equivalent) you
553    should upgrade.
554    http://rt.cpan.org/Ticket/Display.html?id=21185
555
556  - getscanline() and setscanline() can now read/write palette index
557    based data from/to the image for paletted images, by setting type to
558    'index'.
559    http://rt.cpan.org/Ticket/Display.html?id=20338
560
561  - we no longer hassle you to disable GIF support
562    http://rt.cpan.org/Ticket/Display.html?id=20687
563
564  - minor documentation fixes
565
566
567 Imager 0.53 - 26 Jul 2006
568 ===========
569
570 This is a bugfix release.
571
572 Some test code was left in a code path not covered by the test
573 suite. A test was added to cover this code path and the test code was
574 removed.
575 http://rt.cpan.org/Public/Bug/Display.html?id=20705
576
577
578 Imager 0.52 - 25 Jul 2006
579 ===========
580
581 This is primarily a feature release, but contains a fair few bug
582 fixes, new features:
583
584  - ability to read and write MS Windows ICO and CUR files
585
586  - you can now add file format plugins to support new file formats
587
588  - add POD coverage tests
589
590  - setcolors() and addcolors() now accept color names and so on
591    instead of requiring Imager::Color objects.
592    http://rt.cpan.org/Ticket/Display.html?id=20056
593
594  - flood_fill() can now fill to a specified border color instead of
595    just to the area the same color as the seed.
596    http://rt.cpan.org/Ticket/Display.html?id=19618
597
598
599 Bug fixes:
600
601  - bounding_box for the T1 driver wasn't converting UTF8 to ascii when
602    calculating the advance width.
603    http://rt.cpan.org/Public/Bug/Display.html?id=20554
604
605  - bounding_box for the T1 driver wasn't including leading and
606    trailing spaces in the bounding box as the other drivers did, it also
607    produced strange results for empty strings or strings containing only
608    spaces
609
610  - when reading CMYK jpeg images they were being transferred to the
611    image object as is, producing a four channel image. It only looked ok
612    due to an old still unfixed Photoshop bug. We now convert from the
613    inverted CMYK that photoshop (and Corel for example) produce into RGB.
614    http://rt.cpan.org/Ticket/Display.html?id=20416
615
616  - reading a CYMK TIFF would result in a 4 channel image, reading any
617    image with more than 4 channels (eg. RGB with 2 alpha channels) would
618    result in an error.
619    http://rt.cpan.org/Ticket/Display.html?id=20415
620
621  - added /usr/local/include to the default include search path, since
622    we were already searching /usr/local/lib for libraries.
623
624 And various minor fixes and documentation updates.
625
626
627 Imager 0.51 - 23 Apr 2006
628 ===========
629
630  - fix a validation bug when processing JPEG EXIF data that can cause
631    a crash
632    http://rt.cpan.org/Public/Bug/Display.html?id=18496
633
634  - fix mis-processing of the src_maxx and src_maxy parameters of the
635    paste() method
636    http://rt.cpan.org/Public/Bug/Display.html?id=18712
637
638  - fix a problem in Imager's "smart" handling of the color parameter
639    to various methods.
640    http://rt.cpan.org/Public/Bug/Display.html?id=18561
641
642
643 Imager 0.50 - 29 Mar 2006
644 ===========
645
646  - CRITICAL: fixes a segmentation fault from attempting to write a 2
647    or 4 channel image to jpeg or a 2 channel image to tga where the
648    output is an in-memeory buffer.
649    http://rt.cpan.org/Public/Bug/Display.html?id=18397
650
651  - fixes an incorrect pointer parameter in the PNG code
652    http://rt.cpan.org/Public/Bug/Display.html?id=18051
653
654  - skip Inline::C tests when building in a directory with spaces
655    http://rt.cpan.org/Public/Bug/Display.html?id=18049