[fitsbits] WCSLIB 7.1 releaed

Mark Calabretta mark at calabretta.id.au
Tue Dec 31 09:06:26 EST 2019


Greetings,

WCSLIB 7.1 is now available:

   ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib.tar.bz2

A grab-bag of fixes and enhancements, as per the change log appended
below.

Mark Calabretta



WCSLIB version 7.1 (2020/01/01)
-------------------------------

Changes in the contents of the wcsprm struct necessitated incrementing
the major version number from 6 to 7 (i.e. the ABI changed).

* C library

  - In wcsset(), set wcsprm::mjdref[] to zero if neither it nor
    wcsprm::dateref are defined, as per the standard.  Reported by
    Thomas Robitaille.

    wcsset() now also checks that the number of coordinate axes does not
    exceed 32.

  - In tabs2x(), fixed an out-of-bounds array access produced by invalid
    world coordinates.  Reported by Mihai Cara and Michael Seifert.

    In tab.c, declare static three helper functions, tabedge(),
    tabrow(), and tabvox(), used by tabs2x().  Increased the number of
    coordinate axes handled by tabvox() from 16 to 32.  

  - Extended datfix() to handle MJDREF/DATEREF, overlooked in the
    changes in release 6.1.  Also fixed the handling of MJD < 0.

  - Support Solar keywords RSUN_REF, DSUN_OBS, CRLN_OBS, CRLT_OBS,
    HGLN_OBS, and HGLT_OBS by accomodating them within an auxiliary
    struct, auxprm, within the wcsprm struct.  Now filled by the header
    parsers, wcspih() and wcsbth() and handled routinely by wcsinit(),
    wcssub(), wcscompare(), wcsfree(), wcsprt(), wcsset(), and wcshdo().
    Requested by Stuart Mumford (SunPy) with input from Bill Thompson.

  - Bug fix in wcsprintf_set() for resetting the output disposition.
    Reported by Mihai Cara with patch.

  - In dis.{h,c}, the DOCORR record is now handled as a first-class
    value via disprm::docorr.  This required changing the struct.

  - In cel.c, spc.c, wcserr.c, wcsfix.c, wcshdr.c, and wcsutil.c,
    quelled compiler warnings from gcc 9.2.0 generated by
    -Wmaybe-uninitialized and -Wstringop-truncation (via -Wall).

    Similarly for various programs in the test suite.

  - In various functions, quelled warnings from the Microsoft Visual C++
    compiler, mostly relating to pointer arithmetic.  Reported by
    Michael Seifert.

* Fortran wrappers

  - Handled compiler warnings from gcc 9.2.0 generated by
    -Wstringop-truncation (via -Wall).

  - Minor enhancements to character argument handling, including, in
    prjget_(), blank-filling the returned strings matching PRJ_CODE and
    PRJ_NAME, and likewise for SPC_TYPE and SPC_CODE in spcget_().

* Utilities

  - In wcsgrid, handled compiler warnings from gcc 9.2.0 generated by
    -Wstringop-truncation (via -Wall).

* User manual

  - In the section on "FITS-WCS and related software", added mention of
    the R wrappers (Rwcs).  Suggested by Aaron Robotham.

  - Added a new section detailing the limit on the number of image axes
    that WCSLIB can handle (currently 32), and how this could be
    increased if needed.  Prompted by Thomas Robitaille.

  - Augmented the section on the Fortran wrappers, particularly with
    respect to character string handling in argument lists.

  - Documentation generation moved to doxygen 1.8.17 (was 1.8.16).



More information about the fitsbits mailing list