<feed xmlns='http://www.w3.org/2005/Atom'>
<title>PROJ/src/geod_set.c, branch rfc4_dev</title>
<subtitle>Forked from https://github.com/OSGeo/PROJ</subtitle>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/'/>
<entry>
<title>cpp conversion: minimal steps to fix compilation errors, not warnings</title>
<updated>2018-12-26T09:08:53+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2018-12-18T19:24:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=610957f7035242f15743c399ffd429b92bc36206'/>
<id>610957f7035242f15743c399ffd429b92bc36206</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move struct definitions for proj_list_* functions to proj.h</title>
<updated>2018-10-16T19:32:00+00:00</updated>
<author>
<name>Kristian Evers</name>
<email>kristianevers@gmail.com</email>
</author>
<published>2018-10-10T19:11:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=526fe4975e789e3437646adbe86608616eac21fe'/>
<id>526fe4975e789e3437646adbe86608616eac21fe</id>
<content type='text'>
With projects.h not being available to outside users anymore we need to
define PJ_UNITS, PJ_ELLPS, PJ_PRIME_MERIDIANS and PJ_OPERATIONS
elsewhere.

Related pj_get_*_ref() functions have been removed in favour
of their proj_ namespaced counterparts.

char pointers have been changed to const char pointers.

Resolves #983
Resolved #1147

Make char pointers const
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With projects.h not being available to outside users anymore we need to
define PJ_UNITS, PJ_ELLPS, PJ_PRIME_MERIDIANS and PJ_OPERATIONS
elsewhere.

Related pj_get_*_ref() functions have been removed in favour
of their proj_ namespaced counterparts.

char pointers have been changed to const char pointers.

Resolves #983
Resolved #1147

Make char pointers const
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert pj_units to_meters entries for US units.</title>
<updated>2018-07-11T15:10:28+00:00</updated>
<author>
<name>Charles Karney</name>
<email>charles@karney.com</email>
</author>
<published>2018-07-11T15:10:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=3efab3e9ee22de67651ee24c89ac750c212cc9a0'/>
<id>3efab3e9ee22de67651ee24c89ac750c212cc9a0</id>
<content type='text'>
Bletch, pj_init also decodes the to_meters field of pj_unit, but only
handles plain numbers or 1/nnn, but not 1./nnn or mmm/nnn.  (So the
original code would have not decoded the us-in entry properly.)

Probably pj_init should be changed to use the factor field instead.

Alternatively pj_init should look for a "/" anywhere in the field and
decode the numerator and denominator as separate doubles.  This would
be needed if ratios are ever to be entered directly by the user (this
is the strategy used by GeographicLib).  And then, of course, the
functionality should be provided by a separate utility function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bletch, pj_init also decodes the to_meters field of pj_unit, but only
handles plain numbers or 1/nnn, but not 1./nnn or mmm/nnn.  (So the
original code would have not decoded the us-in entry properly.)

Probably pj_init should be changed to use the factor field instead.

Alternatively pj_init should look for a "/" anywhere in the field and
decode the numerator and denominator as separate doubles.  This would
be needed if ratios are ever to be entered directly by the user (this
is the strategy used by GeographicLib).  And then, of course, the
functionality should be provided by a separate utility function.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove ugly assignment within an expression.</title>
<updated>2018-07-11T14:01:26+00:00</updated>
<author>
<name>Charles Karney</name>
<email>charles@karney.com</email>
</author>
<published>2018-07-11T14:01:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=a7f05deb5504d202dbb37654fad54cb42957251a'/>
<id>a7f05deb5504d202dbb37654fad54cb42957251a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #1074.  Fix unit conversion factors for geod.</title>
<updated>2018-07-11T13:49:22+00:00</updated>
<author>
<name>Charles Karney</name>
<email>charles@karney.com</email>
</author>
<published>2018-07-11T13:49:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=3e03508e043123dbdc3ebb00ce6c67f12c8f8c47'/>
<id>3e03508e043123dbdc3ebb00ce6c67f12c8f8c47</id>
<content type='text'>
Previously, unit conversion using atof(unit_list[i].to_meter) which
gives the wrong answer with, e.g., "1/10".  Now it directly uses
unit_list[i].factor (e.g., 0.1).

Also fix all the conversion factors for the US Surveyor units so that
they are the closest doubles.  E.g., the conversion factors for US
feet are

        factor              rel error
    old 0.304800609601219   6e-16
        12/39.37            1e-16  
    now 1200/3937.0         5e-17

Maybe someone should check the Indian units (but it's possible that
India and Pakistan have different standards).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, unit conversion using atof(unit_list[i].to_meter) which
gives the wrong answer with, e.g., "1/10".  Now it directly uses
unit_list[i].factor (e.g., 0.1).

Also fix all the conversion factors for the US Surveyor units so that
they are the closest doubles.  E.g., the conversion factors for US
feet are

        factor              rel error
    old 0.304800609601219   6e-16
        12/39.37            1e-16  
    now 1200/3937.0         5e-17

Maybe someone should check the Indian units (but it's possible that
India and Pakistan have different standards).
</pre>
</div>
</content>
</entry>
<entry>
<title>IWYU: Partial PJ_natearth.c..rtodms.c</title>
<updated>2018-05-15T20:42:20+00:00</updated>
<author>
<name>Kurt Schwehr</name>
<email>schwehr@google.com</email>
</author>
<published>2018-05-15T20:42:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=1e8824517900d37232468b9e3d7f3724e7ffa786'/>
<id>1e8824517900d37232468b9e3d7f3724e7ffa786</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix (mostly false positive) clang static analyzer warnings about potential null pointer dereference</title>
<updated>2018-03-14T19:25:12+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2018-03-12T22:32:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=a49738902a27624d835e5a6b9983a9803c322996'/>
<id>a49738902a27624d835e5a6b9983a9803c322996</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Declare non-local variables as const where possible</title>
<updated>2017-12-17T22:34:40+00:00</updated>
<author>
<name>Aaron Puchert</name>
<email>aaron.puchert@sap.com</email>
</author>
<published>2017-11-17T16:46:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=a07501a165e6f2521c9aa13fa63fab33cf67d876'/>
<id>a07501a165e6f2521c9aa13fa63fab33cf67d876</id>
<content type='text'>
Having non-const variables of static lifetime or even global scope is
usually a bad idea. These variables are inherently constants, and this
should be enforced.

This required marking some functions as not modifying input parameters
and marking some pointers as pointers to const.

One advantage is that the compiler usually puts const static variables
in a read-only code segment, so they can't be modified physically.
This can be verified with `nm` (on POSIX systems).

To avoid changes to the public API, functions returning non-const
pointers to data tables were left intact, but the returned data may not
be modified. Internally we prefer using the proj_list_* functions over
the pj_get_*_ref functions, because the former return const pointers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Having non-const variables of static lifetime or even global scope is
usually a bad idea. These variables are inherently constants, and this
should be enforced.

This required marking some functions as not modifying input parameters
and marking some pointers as pointers to const.

One advantage is that the compiler usually puts const static variables
in a read-only code segment, so they can't be modified physically.
This can be verified with `nm` (on POSIX systems).

To avoid changes to the public API, functions returning non-const
pointers to data tables were left intact, but the returned data may not
be modified. Internally we prefer using the proj_list_* functions over
the pj_get_*_ref functions, because the former return const pointers.
</pre>
</div>
</content>
</entry>
<entry>
<title>Prevent crashes and leaks on allocation failure (#606)</title>
<updated>2017-10-19T12:04:35+00:00</updated>
<author>
<name>Aaron Puchert</name>
<email>aaronpuchert@alice-dsl.net</email>
</author>
<published>2017-10-19T12:04:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=3ef083767eaf975399243246605fddc40cc097f9'/>
<id>3ef083767eaf975399243246605fddc40cc097f9</id>
<content type='text'>
* Prevent crashes and leaks on allocation failure

Memory allocation can fail. We need to gracefully handle this case and
prevent dereferencing null pointers.

* Make NULL checks consistent within a file

* Properly report allocation errors

* Improve cleanup in pj_gc_reader.c

* Implement pj_strdup and use instead of strdup

The function strdup is not part of ANSI C 89, but a POSIX extension.
Therefore we can not rely on it being available on all platforms.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Prevent crashes and leaks on allocation failure

Memory allocation can fail. We need to gracefully handle this case and
prevent dereferencing null pointers.

* Make NULL checks consistent within a file

* Properly report allocation errors

* Improve cleanup in pj_gc_reader.c

* Implement pj_strdup and use instead of strdup

The function strdup is not part of ANSI C 89, but a POSIX extension.
Therefore we can not rely on it being available on all platforms.
</pre>
</div>
</content>
</entry>
<entry>
<title>Recent clang (e.g MacOSX) warning fixes related to double to _Bool implicit conversions</title>
<updated>2017-02-26T11:43:40+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-02-26T11:05:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=8eb46dbbb63d7a880ac787561c907491cffc0917'/>
<id>8eb46dbbb63d7a880ac787561c907491cffc0917</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
