<feed xmlns='http://www.w3.org/2005/Atom'>
<title>PROJ/src/pj_init.c, branch 6.3.1</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>C API: rename recently added _unref and _free functions as _destroy (fixes #1198)</title>
<updated>2018-12-14T11:43:49+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2018-12-14T11:43:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=b2aa77f811dc0dd257afe3fccac49c62fcf039b2'/>
<id>b2aa77f811dc0dd257afe3fccac49c62fcf039b2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>C API: do not 'cache' PROJ context in PJ_OBJ objects</title>
<updated>2018-11-30T01:43:57+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2018-11-30T01:36:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=664bd689bf8dd3ca38a5071459902b89114e88eb'/>
<id>664bd689bf8dd3ca38a5071459902b89114e88eb</id>
<content type='text'>
We store the PJ_CONTEXT* in the PJ_OBJ objects, but this
might cause issues in multi-threaded uses.
For example, before this change, let's imagie:
- a PJ_OBJ is created in thread A with a PJ_CONTEXT that
  is specific to this thread A
- PJ_OBJ is transfered to another thread that operates on
  it. It might thus use the PJ_CONTEXT that was TLS(A)
- in the meantime thread A does completely different things,
  but still operate on its PJ_CONTEXT. We might get a
  concurrent use of the PJ_CONTEXT despite working on
  different PJ_OBJ

Another situation is when using constructor functions that
take two PJ_OBJ. Up to now, we arbitrarily selected the context
of one of the arguments to attach it to the new object.

So better be explicit on which context is used.

For reference, in those wrappers of the C++ API, the
context is mostly used for two things:
- reporting C++ exceptions as PROJ errors with the error handler
  attached to the PJ_CONTEXT
- using the database handle that is associated with the PJ_CONTEXT.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We store the PJ_CONTEXT* in the PJ_OBJ objects, but this
might cause issues in multi-threaded uses.
For example, before this change, let's imagie:
- a PJ_OBJ is created in thread A with a PJ_CONTEXT that
  is specific to this thread A
- PJ_OBJ is transfered to another thread that operates on
  it. It might thus use the PJ_CONTEXT that was TLS(A)
- in the meantime thread A does completely different things,
  but still operate on its PJ_CONTEXT. We might get a
  concurrent use of the PJ_CONTEXT despite working on
  different PJ_OBJ

Another situation is when using constructor functions that
take two PJ_OBJ. Up to now, we arbitrarily selected the context
of one of the arguments to attach it to the new object.

So better be explicit on which context is used.

For reference, in those wrappers of the C++ API, the
context is mostly used for two things:
- reporting C++ exceptions as PROJ errors with the error handler
  attached to the PJ_CONTEXT
- using the database handle that is associated with the PJ_CONTEXT.
</pre>
</div>
</content>
</entry>
<entry>
<title>Redirect epsg:XXXX and IGNF:XXXX CRS expansions to the database, and remove the data/epsg and data/IGNF files</title>
<updated>2018-11-28T23:35:25+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2018-11-26T14:47:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=67758b2c67ea329116b59818c038797667c4e1d1'/>
<id>67758b2c67ea329116b59818c038797667c4e1d1</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>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>Collect custom C99 math functions in proj_math.h</title>
<updated>2018-04-16T20:55:06+00:00</updated>
<author>
<name>Kristian Evers</name>
<email>kristianevers@gmail.com</email>
</author>
<published>2018-04-14T14:47:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=327a8f8b5a850167901a92747767e14ffe77c03b'/>
<id>327a8f8b5a850167901a92747767e14ffe77c03b</id>
<content type='text'>
We are relying more and more on C99 math functions. On C89 systems where
those functions are not available our own custom versions of those
functions are used instead. So far these has been spread across the code
base. This commit gathers them in the same file and introduces the
proj_math.h header. The build system checks for C99 math functions. If
not found the proj_math.h header make sure that C99 functions are
defined as their pj_ equivalent.

Ideally proj_math.h is included instead of math.h. This removes the need
for any checks against HAVE_C99_MATH in the code making it easier to
read.

For this commit the functions hypot, log1p and asinh has been taken care
of.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We are relying more and more on C99 math functions. On C89 systems where
those functions are not available our own custom versions of those
functions are used instead. So far these has been spread across the code
base. This commit gathers them in the same file and introduces the
proj_math.h header. The build system checks for C99 math functions. If
not found the proj_math.h header make sure that C99 functions are
defined as their pj_ equivalent.

Ideally proj_math.h is included instead of math.h. This removes the need
for any checks against HAVE_C99_MATH in the code making it easier to
read.

For this commit the functions hypot, log1p and asinh has been taken care
of.
</pre>
</div>
</content>
</entry>
<entry>
<title>3 -&gt; PJ_LOG_TRACE for pj_log level in pj_init.c</title>
<updated>2018-03-21T22:34:38+00:00</updated>
<author>
<name>Kurt Schwehr</name>
<email>schwehr@google.com</email>
</author>
<published>2018-03-21T22:34:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=922b9f5e393579f11de7c0072d96218ca32a0ba8'/>
<id>922b9f5e393579f11de7c0072d96218ca32a0ba8</id>
<content type='text'>
Bare literals are hard to follow and inconsisten with the rest of proj.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bare literals are hard to follow and inconsisten with the rest of proj.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #878 from schwehr/logging-cleanup</title>
<updated>2018-03-21T07:52:28+00:00</updated>
<author>
<name>Kristian Evers</name>
<email>kristianevers@gmail.com</email>
</author>
<published>2018-03-21T07:52:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=b2b630392fc747d477932f1e73fc62fc3d100866'/>
<id>b2b630392fc747d477932f1e73fc62fc3d100866</id>
<content type='text'>
Remove final \n from pj_log messages.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove final \n from pj_log messages.</pre>
</div>
</content>
</entry>
<entry>
<title>Add extra { } to make code clearer</title>
<updated>2018-03-21T00:30:17+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2018-03-21T00:30:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=60dc8062e06964fb44532cf353c9f3792d57aa68'/>
<id>60dc8062e06964fb44532cf353c9f3792d57aa68</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
