aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-09-13Change how existance of strings in info-structs are checked. Before this ↵Kristian Evers
commit they always evaluated as true. Fixes #568.
2017-09-12Merge pull request #564 from kbevers/proj-respect-input-output-unitsKristian Evers
proj: Do rad->deg conversion if output units warrants it
2017-09-12Merge pull request #567 from kbevers/issue-566Even Rouault
Fix for #566.
2017-09-09Tested for wrong indices before array lookup. Fixes #566.Kristian Evers
2017-09-07PJ_ob_tran: fix potential memory leak. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3321. Credit to OSS Fuzz
2017-09-06Add PJ_FACTORS bit flags to proj.hKristian Evers
2017-09-05proj: Do rad->deg conversion if output units warrants it.Kristian Evers
With the introduction of transformation pipelines it is possible to create a pipeline that has degrees as it's output unit. If that is the case the output coordinate will be in radians internally. This commit makes sure that a conversion to degrees is applied before printing to stdout.
2017-09-05PJ_unitconvert: fix memory leak. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3288. Credit to OSS Fuzz
2017-09-05Reformat proj.c before making functional changes.Kristian Evers
Mixed usage of tabs and spaces replaced with spaces. Code slightly reformatted to present a consistent style from top to bottom.
2017-09-04PJ_hgridshift.c: fix memleak in initialization if grid loading fail. Same ↵Even Rouault
fix as commit e1ad1046873056ab3bfc3262bd343e8c874f395c. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3276. Credit to OSS Fuzz
2017-09-03PJ_goode: fix memory leak. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3274. Credit to OSS Fuzz
2017-08-30Merge pull request #562 from cffk/geod-1.49Charles Karney
Release candidate for geodesic library version 1.49.
2017-08-30Back out of previous change. Coverage stats are still wrong. geodtestCharles Karney
should have included geodesic.c and not geod.c and yet I'm not allowed to use geodesic.c except through the library and then the coverage of geodesic.c seems to be wildly wrong.
2017-08-30Rejig how geodtest is specified in automake to make coverage stats accurate??Charles Karney
2017-08-30Add geodtest to autoconf's 'make check' suite.Charles Karney
It's already including in cmake's test suite.
2017-08-30urm5: fix memory leaks in error code paths of initialization. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3235. Credit to OSS Fuzz
2017-08-29Release candidate for geodesic library version 1.49.Charles Karney
Only substantial changes are (1) testing the HAVE_C99_MATH flag and acting accordingly and (2) adding a couple of tests.
2017-08-29PJ_horner.c: fix memory leaks. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3204. Credit to OSS Fuzz
2017-08-21Added myself and Kristian Evers to AUTHORS file; Removed attribution … (#558)Thomas Knudsen
* Added myself and Kristian Evers to AUTHORS file; Removed attribution for my 1999 contribution from proj.c * Add missing lf before eof
2017-08-20Merge pull request #553 from edechaux/masterEven Rouault
Fix the Solaris 11.3 compilation error
2017-08-20PJ_aea.c: fix memory leak in error code path. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2723. Credit to OSS Fuzz
2017-08-07Adding info functions to proj.h API. (#551)Kristian Evers
* Adding info functions to proj.h API. Four new functions are added with this commit: proj_info(), proj_pj_info(), proj_grid_info() and proj_init_info(). Additionally four new data types are added: PJ_INFO, PJ_PROJ_INFO, PJ_GRID_INFO and PJ_INIT_INFO. The functions return the corresponding data types. These functions allows users of the PROJ.4 library to get information about various PROJ.4 entities and the library itself. The new data types are structs that contain specific information about either the library instance, a PJ instance, a grid or an init file. Together the four new functions cover a big part of the functionality in the semi-public projects.h API and should hopefully make it easier for user to migrate their code to the proj.h API in the future. Besides covering already existing functionality in the old API, this commit introduces the ability to add metadata to init-files. This is primarily added to give users a way of knowing which version of the EPSG database they are using, but it also comes in handy for other init-files. The init-file metadata is added directly to the init-file as a special "projection" called "metadata". The info projection of the epsg init-file is thus described as: <metadata> +version=9.0.0 +origin=EPSG +lastupdate=2017-01-10 The proj_init_info() function uses the internal pj_param() to read the metadata. As a consequence, "metadata" will not be available as a the name of a projection in the future. This is a reasonable price to pay considering the ease of the implementation of adding metadata to init-files this way, and of course that "metadata" is a very unlikely name for a projection in any case. A metadata tag has been added to all init-files in the nad-directory. For most only a subset of the possible parameters has been added. * Replaced calls to sprintf and strncpy with safer options. Added pj_strlcpy for internal use. * Fail gracefully when getting non-initialized PJ in proj_pj_info() * Change length of filename member in PJ_INIT_INFO and PJ_GRID_INFO to 260 (MAX_PATH)
2017-08-04Fix the Solaris 11.3 compilation erroredechaux
When _XOPEN_SOURCE 500 is defined on Solaris 11 the following error message is displayed : "Compiler or options invalid for pre-UNIX 03 X/Open applications and pre-2001 POSIX applications" As pthread_mutexattr_settype is available without _XOPEN_SOURCE defined, the easier way to fix the error is to disable it.
2017-07-25Expose pj_factors and pj_deriv in public API. (#546)Kristian Evers
Expose pj_factors and pj_deriv in public API. proj_derivatives() and proj_factors() has been introduced to the public proj.h API. The new functions are simply wrappers for the original functions. The h argument of the two functions has been omitted in the new wrappers as it does not seem to be used very much (if at all?).
2017-07-18Merge pull request #548 from kbevers/remove-error-macrosKristian Evers
Eliminated *_ERROR* macros.
2017-07-18Expanded *_ERROR* macros.Kristian Evers
Expanded *_ERROR* macros with calls to proj_errno_set() and proper returns when necessary. Defined a bunch of new PJD_ERR_ constants in projects.h that corresponds to the error numbers in pj_strerrno.c. A few unknown error numbers were replaced by existing ones in pj_strerrno.c.
2017-07-14Make sure to use custom hypot() when building as ANSI C (not defined before ↵Kristian Evers
C99).
2017-07-13Merge pull request #545 from kbevers/lcc-convergenceKristian Evers
Correcting convergence formula for LCC. Fixes #16.
2017-07-13Correcting convergence formula for LCC. Fixes #16.Kristian Evers
2017-07-13Add proj_dmstor() and proj_rtodms() to proj.h API. Resolves #172.Kristian Evers
2017-07-13Added proj_has_inverse(). Fixes #155.Kristian Evers
2017-07-13Implemented proj_transform_coord() and proj_transform_obs()Kristian Evers
2017-07-13Implemented proj_obs()Kristian Evers
2017-07-13Implemented proj_create_crs_to_crs()Kristian Evers
2017-07-10Introducing the Molodensky transform (#541)Kristian Evers
2017-07-07obs_api revision and improvements: new namespace etc. (#530)Thomas Knudsen
* obs_api revision and improvements: new namespace etc. * Minor corrections: use unused functions, add missing prototype, added fwd/invcoord to PJ * Minor correction: MSVC barfs on va_arg type specification. Trying once more with added parens * Reverting paren correction, which appears to be a non-solution * Significant improvements to the OBS_API, plus a number of corrections, mostly in test code, to reflect API changes * Added two missing prototypes * Adding the proj_transform function and some related checks * Improvements to proj_transform etc. based on suggestions from Even Rouault * Reducing the libc include footprint of proj.h - again based on suggestions from Even Rouault * A few minor corrections * Eliminate a MSVC warning about non-initialized usage. Not an actual issue, as another check has locked the path, but at least this should calm down MSVC * Improved support for the errno reset/restore paradigm * Introduced the internal header proj_internal.h; Moved most non-API stuff from pj_obs_api.c to pj_internal.c * Adding proj_internal.h to HEADERS_LIBPROJ to solve build problems * Correcting a few pj...proj blunders in PJ_pipeline.c * Correcting a few additional blunders in PJ_pipeline.c * Changed angle-brackets to quotation marks in includes of proj_internal.h * Some minor build system repairs * Some PJ_CONTEXT usage simplifications following suggestions by Kristian Evers @kbevers * Added version numbering to proj.h - Fixes #529 * remove proj_errno_restore macro, provide function implementation * Add proj_get_definition. Fixes #538 * Added library specific deallocator proj_buffer_free, eliminating a potential cross heap issues on Windows. Thx to Even Rouault for spotting this * Got rid of a meaningless cast in proj_buffer_free * Added some missing functions to proj.def (again spotted by @rouault); removed some not-yet-implemented material from proj.h * Renamed proj_get_definition/proj_buffer_free to proj_definition_create/proj_definition_destroy, for symmetry and clarity * Renaming the definition handlers to proj_definition_retrieve / proj_free * Renaming proj_free to proj_release
2017-07-05Merge pull request #527 from kbevers/issue-526Kristian Evers
Correct calculation of meridian convergence for non-conformal projections
2017-07-05Respect -r flag when calling proj with -V. Fixes #184.Kristian Evers
2017-07-05Let pj_init() expand more than one +init argument.Kristian Evers
With the introduction of transformation pipelines it is now a valid use case to have more than one +init argument in a proj string. This commit makes sure that all +init's are expanded. Added test case to PJ_pipeline.c for use of multiple +init's in a proj-string. Fixes #479.
2017-06-22Use *pj_get_errno_ref() instead of pj_errno because it seems pj_errno is not ↵Kristian Evers
set correctly on some versions of VS. Fixes #484.
2017-06-21Correct calculation of meridian convergence for non-conformal projections. ↵Kristian Evers
Fixes #526.
2017-06-21Reformatting files before making functional changes. Getting rid of old ↵Kristian Evers
coding style and mixed whitespace.
2017-06-13PJ_vgridshift.c: fix memleak in initialization if grid loading failEven Rouault
When gridloading fail for one grid, but return a gridlist, we leak the grid list array. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2230. Credit to OSS Fuzz
2017-06-09PJ_igh.c: assign ctx of igh projection to its children projection objects. ↵Even Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2167. Credit to OSS Fuzz
2017-06-08PJ_krovak.c: avoid infinite loop in inverse method. Credit to OSS FuzzEven Rouault
2017-06-08PJ_urm5.c: fix memory leak in destructor. Credit to OSS FuzzEven Rouault
2017-06-08Add upper limit to number of iterations for all (documented as such) ↵Even Rouault
computations using Newton-Raphson. Credit to OSS Fuzz
2017-06-08PJ_comill.c: avoid infinite loop in inverse method. Credit to OSS FuzzEven Rouault
2017-06-08pj_gridlist_from_nadgrids(): fix memory leak in error code path. Credit to ↵Even Rouault
OSS Fuzz
2017-06-08PJ_igh.c: fix memory leak. Credit to OSS FuzzEven Rouault