From ec7535cc68ecd1b6bb07e9affcee4d1e8e4a18c3 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Wed, 10 Jun 2015 23:28:01 +0000 Subject: [PATCH] Restore liblwgeom API compatibility (#3156) Adds an lwgeom_set_debuglogger function, restore lwgeom_set_handler to the same arguments set as with 2.1.x. Updates all callers (2/3 of which are back to their original version). git-svn-id: http://svn.osgeo.org/postgis/trunk@13646 b70326c6-7e19-0410-871a-916f4a2858ee --- liblwgeom/cunit/cu_tester.c | 2 +- liblwgeom/liblwgeom.h.in | 4 +++- liblwgeom/lwutil.c | 7 ++++++- libpgcommon/lwgeom_pg.c | 3 ++- raster/test/cunit/cu_tester.c | 2 +- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/liblwgeom/cunit/cu_tester.c b/liblwgeom/cunit/cu_tester.c index 5be7de5fd..ccbb22663 100644 --- a/liblwgeom/cunit/cu_tester.c +++ b/liblwgeom/cunit/cu_tester.c @@ -128,7 +128,7 @@ int main(int argc, char *argv[]) PG_SuiteSetup *setupfunc = setupfuncs; /* Install the custom error handler */ - lwgeom_set_handlers(0, 0, 0, cu_errorreporter, 0, 0); + lwgeom_set_handlers(0, 0, 0, cu_errorreporter, 0); /* Initialize the CUnit test registry */ if (CUE_SUCCESS != CU_initialize_registry()) diff --git a/liblwgeom/liblwgeom.h.in b/liblwgeom/liblwgeom.h.in index e2abe8b5d..32f4f33f7 100644 --- a/liblwgeom/liblwgeom.h.in +++ b/liblwgeom/liblwgeom.h.in @@ -203,7 +203,9 @@ typedef void (*lwdebuglogger)(int level, const char* fmt, va_list ap); */ extern void lwgeom_set_handlers(lwallocator allocator, lwreallocator reallocator, lwfreeor freeor, lwreporter errorreporter, - lwreporter noticereporter, lwdebuglogger debuglogger); + lwreporter noticereporter); + +extern void lwgeom_set_debuglogger(lwdebuglogger debuglogger); /** * Request interruption of any running code diff --git a/liblwgeom/lwutil.c b/liblwgeom/lwutil.c index 1b20614b6..d7140d7b7 100644 --- a/liblwgeom/lwutil.c +++ b/liblwgeom/lwutil.c @@ -168,7 +168,7 @@ default_errorreporter(const char *fmt, va_list ap) void lwgeom_set_handlers(lwallocator allocator, lwreallocator reallocator, lwfreeor freeor, lwreporter errorreporter, - lwreporter noticereporter, lwdebuglogger debuglogger) { + lwreporter noticereporter) { if ( allocator ) lwalloc_var = allocator; if ( reallocator ) lwrealloc_var = reallocator; @@ -176,6 +176,11 @@ lwgeom_set_handlers(lwallocator allocator, lwreallocator reallocator, if ( errorreporter ) lwerror_var = errorreporter; if ( noticereporter ) lwnotice_var = noticereporter; +} + +void +lwgeom_set_debuglogger(lwdebuglogger debuglogger) { + if ( debuglogger ) lwdebug_var = debuglogger; } diff --git a/libpgcommon/lwgeom_pg.c b/libpgcommon/lwgeom_pg.c index df588d5ef..740a66d41 100644 --- a/libpgcommon/lwgeom_pg.c +++ b/libpgcommon/lwgeom_pg.c @@ -191,7 +191,8 @@ void pg_install_lwgeom_handlers(void) { /* install PostgreSQL handlers */ - lwgeom_set_handlers(pg_alloc, pg_realloc, pg_free, pg_error, pg_notice, pg_debug); + lwgeom_set_handlers(pg_alloc, pg_realloc, pg_free, pg_error, pg_notice); + lwgeom_set_debuglogger(pg_debug); } /** diff --git a/raster/test/cunit/cu_tester.c b/raster/test/cunit/cu_tester.c index befe0b53b..670b5150e 100644 --- a/raster/test/cunit/cu_tester.c +++ b/raster/test/cunit/cu_tester.c @@ -70,7 +70,7 @@ int main(int argc, char *argv[]) PG_SuiteSetup *setupfunc = setupfuncs; /* install the custom error handler */ - lwgeom_set_handlers(0, 0, 0, cu_error_reporter, 0, 0); + lwgeom_set_handlers(0, 0, 0, cu_error_reporter, 0); /* initialize the CUnit test registry */ if (CUE_SUCCESS != CU_initialize_registry()) -- 2.50.1