[ogdi-dfsg] 03/06: New upstream version 3.2.1+ds

Bas Couwenberg sebastic at debian.org
Thu Mar 1 18:25:06 UTC 2018


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master
in repository ogdi-dfsg.

commit ed8dd00f3bd0d6b3ef0afb7fdbb032b079a15493
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Thu Mar 1 19:15:35 2018 +0100

    New upstream version 3.2.1+ds
---
 .cvsignore                            |   4 +
 .gitignore                            |  11 +
 ChangeLog                             |  11 +
 HOWTO-RELEASE                         |   7 +-
 NEWS                                  |   9 +
 VERSION                               |   1 -
 config/common.mak.in                  |   2 +
 config/mkinstalldirs                  |   2 +-
 config/win64.mak                      | 192 ++++++++++++++++++
 configure                             |  16 +-
 configure.in                          |   2 +-
 contrib/gdal/.cvsignore               |   1 +
 contrib/gdal/gbgetsymbol.c            |   6 +-
 contrib/gdal/gdal_serv.c              |   6 +-
 contrib/gdal/gdal_serv.h              |   6 +-
 contrib/gdal/gdalbridge.c             |   6 +-
 contrib/gdal/gdalbridge.h             |   6 +-
 contrib/ogdi_import/.cvsignore        |   1 +
 contrib/ogdi_import/ogdi_import.c     |   6 +-
 contrib/ogdi_info/.cvsignore          |   1 +
 contrib/ogdi_info/ogdi_info.c         |   6 +-
 lib/.cvsignore                        |   2 +
 lib/win32/.cvsignore                  |   2 +
 makefile                              |   2 +
 mkogdidist.sh                         |  23 +--
 ogdi/c-api/.cvsignore                 |   1 +
 ogdi/c-api/client.c                   |   6 +-
 ogdi/c-api/ecs_capabilities.c         |   6 +-
 ogdi/c-api/ecs_dyna.c                 |   6 +-
 ogdi/c-api/ecs_xdrz.c                 |   6 +-
 ogdi/c-api/ecsassoc.c                 |   6 +-
 ogdi/c-api/ecsdist.c                  |   6 +-
 ogdi/c-api/ecsgeo.c                   |   6 +-
 ogdi/c-api/ecshash.c                  |   6 +-
 ogdi/c-api/ecsinfo.c                  |   6 +-
 ogdi/c-api/ecslist.c                  |   6 +-
 ogdi/c-api/ecsregex.c                 |   6 +-
 ogdi/c-api/ecssplit.c                 |   6 +-
 ogdi/c-api/ecstile.c                  |   6 +-
 ogdi/c-api/ogdi.def                   |   1 +
 ogdi/c-api/opendir.c                  |   4 +-
 ogdi/c-api/opendir.h                  |   4 +-
 ogdi/c-api/server.c                   |   6 +-
 ogdi/datum_driver/canada/.cvsignore   |   1 +
 ogdi/datum_driver/canada/dtcanada.def |  24 +--
 ogdi/datum_driver/usa/.cvsignore      |   1 +
 ogdi/datum_driver/usa/dtusa.c         |  36 ++++
 ogdi/datum_driver/usa/dtusa.def       |  26 +--
 ogdi/driver/adrg/.cvsignore           |   1 +
 ogdi/driver/adrg/adrg.c               |   6 +-
 ogdi/driver/adrg/adrg.h               |   4 +-
 ogdi/driver/adrg/object.c             |   6 +-
 ogdi/driver/adrg/utils.c              |   6 +-
 ogdi/driver/dted/.cvsignore           |   1 +
 ogdi/driver/dted/dted.c               |   6 +-
 ogdi/driver/dted/dted.h               |   4 +-
 ogdi/driver/dted/object.c             |   6 +-
 ogdi/driver/dted/utils.c              |   6 +-
 ogdi/driver/network/.cvsignore        |   1 +
 ogdi/driver/network/remote.def        |  48 ++---
 ogdi/driver/rpf/.cvsignore            |   1 +
 ogdi/driver/rpf/object.c              |   6 +-
 ogdi/driver/rpf/rpf.c                 |  10 +-
 ogdi/driver/rpf/rpf.h                 |   4 +-
 ogdi/driver/rpf/utils.c               |   6 +-
 ogdi/driver/skeleton/.cvsignore       |   1 +
 ogdi/driver/vrf/.cvsignore            |   1 +
 ogdi/driver/vrf/feature.c             |  96 +++++++--
 ogdi/driver/vrf/object.c              | 179 ++++++++--------
 ogdi/driver/vrf/open.c                |   6 +-
 ogdi/driver/vrf/swq.c                 |   6 +-
 ogdi/driver/vrf/swq.h                 |   4 +-
 ogdi/driver/vrf/utils.c               |   6 +-
 ogdi/driver/vrf/vrf.c                 |   6 +-
 ogdi/driver/vrf/vrf.def               |  46 ++---
 ogdi/driver/vrf/vrf.h                 |  17 +-
 ogdi/driver/vrf/vrfswq.c              |   6 +-
 ogdi/examples/example1/.cvsignore     |   1 +
 ogdi/examples/example2/.cvsignore     |   1 +
 ogdi/gltpd/.cvsignore                 |   1 +
 ogdi/gltpd/asyncsvr.c                 |   6 +-
 ogdi/gltpd/ecs_sif.c                  |   6 +-
 ogdi/glutil/.cvsignore                |   1 +
 ogdi/glutil/getglenv.c                |   1 +
 ogdi/glutil/status_d.mak              | 372 +++++++++++++++++-----------------
 ogdi/glutil/status_d.rc               |  44 ++--
 ogdi/include/ecs_util.h               |   8 +-
 ogdi/tcl_interface/.cvsignore         |   1 +
 ogdi/tcl_interface/ecs_tcl.c          |   4 +-
 vpflib/.cvsignore                     |   1 +
 vpflib/strfunc.h                      |   7 +
 vpflib/vpfread.c                      |   2 +-
 92 files changed, 911 insertions(+), 554 deletions(-)

diff --git a/.cvsignore b/.cvsignore
new file mode 100644
index 0000000..9270c4d
--- /dev/null
+++ b/.cvsignore
@@ -0,0 +1,4 @@
+bin
+config.status
+config.log
+config.cache
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..501aec0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,11 @@
+bin/
+config.log
+config.status
+config/Linux.mak
+config/common.mak
+OBJ.Linux
+OBJ.win32
+OBJ.win64
+lib/Linux
+ogdi-config
+ogdi.pc
diff --git a/ChangeLog b/ChangeLog
index 4f37dc0..1f77c30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2018-03-01  Even Rouault <even.rouault at spatialys.com>
+
+    * various changes to support Win64 and MSVC 2015
+
+2018-03-01  Even Rouault <even.rouault at spatialys.com>
+
+    * ogdi/driver/vrf/feature.c, object.c, vrf.h: make sure to take into
+    account tile id when merging feature segments, and deal with situations
+    where consecutive segments of same feature in edge table are not
+    mergeable. Needed on some DNC products.
+
 2016-07-19  Even Rouault <even.rouault at spatialys.com>
 
         * New 3.2.0 release
diff --git a/HOWTO-RELEASE b/HOWTO-RELEASE
index 16bfefc..befcee8 100644
--- a/HOWTO-RELEASE
+++ b/HOWTO-RELEASE
@@ -13,7 +13,7 @@
 
 4) Run testsuite on these platforms. 
 
-5) Add release notice in devdir/ChangeLog.
+5) Add release notice in ChangeLog.
 
 6) Update the NEWS file based on a digested form of the ChangeLog file.
 
@@ -23,15 +23,12 @@
 
    ie. 
 
-   cd devdir
-   cvs tag ogdi_3_1_0
+   git tag -a ogdi_3_2_1
 
 8) Create the source distributions using the mkogdidist.sh script.  The
    version name should include subrelease name components as appropriate.
-   Hit enter when prompted for a CVS password.
 
    ie. 
-   cd devdir
    mkogdidist.sh 3.1beta2
 
 9) Publish the resulting files.  For public (ie. final) releases they should
diff --git a/NEWS b/NEWS
index 68cbbbd..739759a 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,15 @@
 View the ChangeLog file for detailed, file by file notes on changes.  The
 NEWS file is just used to sumarize major changes, and new features. 
 
+3.2.1
+=====
+
+ o  MSVC 2015 related fixes
+
+ o  Win64 target
+
+ o  VRF: fixes for some linear features in DNC products
+
 3.2.0
 =====
 
diff --git a/VERSION b/VERSION
deleted file mode 100644
index 15222c5..0000000
--- a/VERSION
+++ /dev/null
@@ -1 +0,0 @@
-3.2.0: mardi 19 juillet 2016, 14:20:47 (UTC+0200)
diff --git a/config/common.mak.in b/config/common.mak.in
index abd0e03..9276796 100644
--- a/config/common.mak.in
+++ b/config/common.mak.in
@@ -73,7 +73,9 @@ LIBDIR		= $(TOPDIR)/lib/$(TARGET)
 #
 #	Final OS installation location.
 #
+ifndef prefix
 prefix		= /usr/local
+endif
 exec_prefix 	= ${prefix}
 INST_INCLUDE	= ${prefix}/include
 INST_LIB	= ${exec_prefix}/lib
diff --git a/config/mkinstalldirs b/config/mkinstalldirs
index 1a8cef0..d0fd194 100755
--- a/config/mkinstalldirs
+++ b/config/mkinstalldirs
@@ -4,7 +4,7 @@
 # Created: 1993-05-16
 # Public domain
 
-# $Id: mkinstalldirs,v 1.1.1.1 2000/10/29 20:54:55 warmerda Exp $
+# $Id$
 
 errstatus=0
 
diff --git a/config/win64.mak b/config/win64.mak
new file mode 100644
index 0000000..afc7517
--- /dev/null
+++ b/config/win64.mak
@@ -0,0 +1,192 @@
+# Copyright (C) 1996 Her Majesty the Queen in Right of Canada.
+# Permission to use, copy, modify and distribute this software and
+# its documentation for any purpose and without fee is hereby granted,
+# provided that the above copyright notice appear in all copies, that
+# both the copyright notice and this permission notice appear in
+# supporting documentation, and that the name of Her Majesty the Queen
+# in Right  of Canada not be used in advertising or publicity pertaining
+# to distribution of the software without specific, written prior
+# permission.  Her Majesty the Queen in Right of Canada makes no
+# representations about the suitability of this software for any purpose.
+# It is provided "as is" without express or implied warranty.
+#
+#
+#
+# win32 configuration file
+#
+
+MAKE 		= $(MAKE_COMMAND) $(MAKEOVERRIDES)
+
+
+#
+# Platform specific symbols
+#
+
+Platform	= win32
+
+#
+# Standard tools
+#
+
+CC		= cl.exe /nologo
+LD		= link.exe /nologo
+SHLIB_LD	= link.exe /nologo
+AR		= lib.exe /nologo
+FILECOPY	= cp
+MKDIR		= mkdir
+DIRCOPY		= cp -rf
+ifndef SHELL
+SHELL		= /bin/sh
+endif
+MKINSTALLDIR	= $(TOPDIR)/config/mkinstalldirs
+RSC             = rc.exe
+RM		= rm
+RMALL           = rm -rf
+RMDIR           = rmdir
+
+
+REVERSETOPDIR   = $(subst /,\,$(TOPDIR))
+
+#
+# File name extensions
+#
+
+APP_EXT         = .exe
+ARCH_EXT        = lib
+LIB_PREFIX	= 
+LIB_SUFFIX	= .lib
+OBJ_EXT		= obj
+SHLIB_EXT	= dll
+
+#
+# Command switches
+#
+
+DEFINE_SW	= /D
+INCL_SW		= /I
+LIB_SW		= /
+LINK_SW		= 
+
+
+#
+# Endian definition, could be little or big
+#
+
+BIG_ENDIAN          = 0
+
+#
+#Compilation and linking flags
+#
+
+# These flags are appropriate for a compiling with Visual C++ 5.0
+# With these flags, you could run purify.
+#
+
+WINCPP_DEBUG	= /EHsc /D_DEBUG /Zi $(CPP_DEBUG) 
+WINCPP_RELEASE	= /EHsc /Gy /Od /DNDEBUG $(CPP_RELEASE) 
+LINK_DEBUG	= /DEBUG /INCREMENTAL:no /FIXED:NO
+LINK_RELEASE	= /INCREMENTAL:no /OPT:REF
+
+#flags
+
+# These flags are appropriate for a compiling with Visual C++ 4.0
+# With these flags, you could run purify.
+#
+
+#LINK_DEBUG	= /DEBUG /INCREMENTAL:no /debugtype:cv
+#WINCPP_RELEASE	= /EHsc /Gi- /Gy /O2 /DNDEBUG $(CPP_RELEASE) 
+
+
+SMARTHEAP_LIB =
+
+ifneq ($(CFG),release)
+OPTIMIZATION	= $(WINCPP_DEBUG)
+LINK_OPTIMIZATION = $(LINK_DEBUG)
+else
+OPTIMIZATION  = $(WINCPP_RELEASE)
+LINK_OPTIMIZATION = $(LINK_RELEASE)
+endif
+
+SHLIB_CFLAGS	=
+SHLIB_LDFLAGS	= /DLL
+COMMON_LDFLAGS	= /DEBUG
+
+#
+# Standard location of compiled component libraries
+#
+
+LINKDIR		= $(LIBDIR)
+
+#
+# INCLUDE locations for include command
+#
+
+SYSTEM_INCLUDE	= $(patsubst %,$(INCL_SW)%,$(subst \,/,$(subst ;, ,$(INCLUDE))))
+COMPAT_INCLUDE  = $(INCL_SW)$(TOPDIR)/include/win32/compat
+
+RPC_INCLUDE     = $(INCL_SW)$(TOPDIR)/external/rpc_win32/rpc
+SYS_INCLUDE     = $(INCL_SW)$(TOPDIR)/include/win32/sys
+
+# Library locations for link command
+
+WIN_LINKLIB           =  user32.lib gdi32.lib wsock32.lib advapi32.lib kernel32.lib
+#LXLIB_LINKLIB         = $(LIBDIR)/lxlib.lib
+ODBC_LINKLIB          = odbc32.lib odbccp32.lib
+RPC_LINKLIB           = $(LIBDIR)/static/rpc.lib
+
+#
+# rules
+#
+
+COMMON_CFLAGS = /D_WINDOWS /DWIN32 /D_MBCS \
+	/Dhypot=_hypot /DNO_DIRENT_H \
+	/DSIGQUIT=SIGBREAK /Dioctl=Ioctl /DSIGPIPE=SIGTERM \
+	/DSIGHUP=SIGTERM /DSIGALRM=SIGTERM   /Dpopen=_popen \
+	/Dpclose=_pclose \
+	/DMISSING_DLFCN_H \
+	$(OPTIMIZATION) \
+	/W3 /MD /c /Fpheaders.pch
+
+#FLAGS_X86DEF = /D_X86_
+
+$(subst :,\:,$(ARCHGEN)): $(OBJECTS)
+	@echo Making archive file: $@
+	$(AR) /OUT:$@ $^ 
+	@echo $@ made successfully ...
+
+DEF_FILE=$(TOBEGEN_STRIPPED).def
+RES_FILE=$(TOBEGEN).res
+RC_FILE=$(TOBEGEN).rc
+
+$(subst :,\:,$(DYNAGEN)): $(DEF_FILE) $(OBJECTS)
+	@echo Making dynamic file: $@
+	@echo 
+	$(SHLIB_LD) /DLL $(LINK_OPTIMIZATION) \
+	$(filter %.$(OBJ_EXT),$^) $(LINK_LIBS) /DEF:$(filter %.def,$^) \
+	/OUT:$(TOBEGEN).dll \
+	/IMPLIB:$(TOPDIR)/lib/$(TARGET)/$(LIB_PREFIX)$(TOBEGEN).$(ARCH_EXT) \
+	/OUT:$@
+
+ifndef WITHICON
+$(subst :,\:,$(PROGGEN)): $(OBJECTS)
+	@echo Making executable file:  $@
+	$(LD) $^ $(LINK_LIBS) \
+	$(LINK_OPTIMIZATION) $(SMARTHEAP_LINKLIB)  \
+	/OUT:$@
+
+else
+$(subst :,\:,$(PROGGEN)): $(RES_FILE) $(OBJECTS)
+	@echo Making executable file:  $@
+	$(LD) $(filter %.$(OBJ_EXT),$^) $(LINK_LIBS) \
+	$(filter %.res,$^) \
+	$(LINK_OPTIMIZATION) $(SMARTHEAP_LINKLIB) \
+	/OUT:$@
+endif
+
+
+%.obj: %.c 
+	$(CC) $(CFLAGS) $(CPPFLAGS) $< 
+
+$(subst :,\:,$(RES_FILE)): $(RC_FILE)
+	$(RSC) /fo"$@" $(GENERAL_INCLUDE) $(TCLTK_INCLUDE) $^
+
diff --git a/configure b/configure
index d7acc10..c69d337 100755
--- a/configure
+++ b/configure
@@ -672,6 +672,7 @@ infodir
 docdir
 oldincludedir
 includedir
+runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -753,6 +754,7 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE}'
@@ -1005,6 +1007,15 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
+  -runstatedir | --runstatedir | --runstatedi | --runstated \
+  | --runstate | --runstat | --runsta | --runst | --runs \
+  | --run | --ru | --r)
+    ac_prev=runstatedir ;;
+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+  | --run=* | --ru=* | --r=*)
+    runstatedir=$ac_optarg ;;
+
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1142,7 +1153,7 @@ fi
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
+		libdir localedir mandir runstatedir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1295,6 +1306,7 @@ Fine tuning of the installation directories:
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -2058,7 +2070,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-OGDI_VERSION=3.2.0
+OGDI_VERSION=3.2.1
 OGDI_MAJOR=3
 OGDI_MINOR=2
 
diff --git a/configure.in b/configure.in
index 68b1c92..0a1526b 100644
--- a/configure.in
+++ b/configure.in
@@ -1,7 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(config/unix.mak)
 
-OGDI_VERSION=3.2.0
+OGDI_VERSION=3.2.1
 OGDI_MAJOR=3
 OGDI_MINOR=2
 
diff --git a/contrib/gdal/.cvsignore b/contrib/gdal/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/contrib/gdal/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/contrib/gdal/gbgetsymbol.c b/contrib/gdal/gbgetsymbol.c
index 63fd911..4af04b9 100644
--- a/contrib/gdal/gbgetsymbol.c
+++ b/contrib/gdal/gbgetsymbol.c
@@ -1,5 +1,5 @@
 /******************************************************************************
- * $Id: gbgetsymbol.c,v 1.1 2001/05/04 03:13:35 warmerda Exp $
+ * $Id$
  *
  * Project:  GDAL Bridge 
  * Purpose:  Fetch a function pointer from a shared library / DLL.
@@ -29,8 +29,8 @@
  * DEALINGS IN THE SOFTWARE.
  ******************************************************************************
  *
- * $Log: gbgetsymbol.c,v $
- * Revision 1.1  2001/05/04 03:13:35  warmerda
+ * $Log$
+ * Revision 1.1  2001-05-04 03:13:35  warmerda
  * New
  *
  * Revision 1.1  2000/10/25 16:43:20  warmerda
diff --git a/contrib/gdal/gdal_serv.c b/contrib/gdal/gdal_serv.c
index 83b4e9e..2eff93b 100644
--- a/contrib/gdal/gdal_serv.c
+++ b/contrib/gdal/gdal_serv.c
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: gdal_serv.c,v 1.1 2001/05/04 03:13:35 warmerda Exp $
+ * $Id$
  *
  * Project:  GDAL OGDI Server
  * Purpose:  Implements dynamic entry points into the driver. 
@@ -27,8 +27,8 @@
  * DEALINGS IN THE SOFTWARE.
  **********************************************************************
  * 
- * $Log: gdal_serv.c,v $
- * Revision 1.1  2001/05/04 03:13:35  warmerda
+ * $Log$
+ * Revision 1.1  2001-05-04 03:13:35  warmerda
  * New
  *
  * Revision 1.2  2000/08/28 20:21:47  warmerda
diff --git a/contrib/gdal/gdal_serv.h b/contrib/gdal/gdal_serv.h
index 284617c..b3466fd 100644
--- a/contrib/gdal/gdal_serv.h
+++ b/contrib/gdal/gdal_serv.h
@@ -1,5 +1,5 @@
 /**********************************************************************
- * $Id: gdal_serv.h,v 1.1 2001/05/04 03:13:35 warmerda Exp $
+ * $Id$
  *
  * Project:  GDAL OGDI Server
  * Purpose:  Declarations.
@@ -27,8 +27,8 @@
  * DEALINGS IN THE SOFTWARE.
  **********************************************************************
  * 
- * $Log: gdal_serv.h,v $
- * Revision 1.1  2001/05/04 03:13:35  warmerda
+ * $Log$
+ * Revision 1.1  2001-05-04 03:13:35  warmerda
  * New
  *
  * Revision 1.2  2000/08/28 20:21:47  warmerda
diff --git a/contrib/gdal/gdalbridge.c b/contrib/gdal/gdalbridge.c
index 69bf2b7..d4b4ec8 100644
--- a/contrib/gdal/gdalbridge.c
+++ b/contrib/gdal/gdalbridge.c
@@ -1,5 +1,5 @@
 /******************************************************************************
- * $Id: gdalbridge.c,v 1.1 2001/05/04 03:13:35 warmerda Exp $
+ * $Id$
  *
  * Project:  GDAL Bridge 
  * Purpose:  Implementation of GDALBridgeInitialize()
@@ -29,8 +29,8 @@
  * DEALINGS IN THE SOFTWARE.
  ******************************************************************************
  *
- * $Log: gdalbridge.c,v $
- * Revision 1.1  2001/05/04 03:13:35  warmerda
+ * $Log$
+ * Revision 1.1  2001-05-04 03:13:35  warmerda
  * New
  *
  * Revision 1.1  2000/10/25 16:43:20  warmerda
diff --git a/contrib/gdal/gdalbridge.h b/contrib/gdal/gdalbridge.h
index 6ba5f99..3f1375c 100644
--- a/contrib/gdal/gdalbridge.h
+++ b/contrib/gdal/gdalbridge.h
@@ -1,5 +1,5 @@
 /******************************************************************************
- * $Id: gdalbridge.h,v 1.1 2001/05/04 03:13:35 warmerda Exp $
+ * $Id$
  *
  * Project:  GDAL Bridge 
  * Purpose:  Declarations for GDAL Bridge support.
@@ -29,8 +29,8 @@
  * DEALINGS IN THE SOFTWARE.
  ******************************************************************************
  *
- * $Log: gdalbridge.h,v $
- * Revision 1.1  2001/05/04 03:13:35  warmerda
+ * $Log$
+ * Revision 1.1  2001-05-04 03:13:35  warmerda
  * New
  *
  * Revision 1.1  2000/10/25 16:43:20  warmerda
diff --git a/contrib/ogdi_import/.cvsignore b/contrib/ogdi_import/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/contrib/ogdi_import/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/contrib/ogdi_import/ogdi_import.c b/contrib/ogdi_import/ogdi_import.c
index 194819f..a42c0f8 100644
--- a/contrib/ogdi_import/ogdi_import.c
+++ b/contrib/ogdi_import/ogdi_import.c
@@ -1,5 +1,5 @@
 /******************************************************************************
- * $Id: ogdi_import.c,v 1.13 2007/02/12 15:52:57 cbalint Exp $
+ * $Id$
  *
  * Project:  OGDI Contributed Clients
  * Purpose:  Simple console import to shapefile/raw raster.
@@ -19,8 +19,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ogdi_import.c,v $
- * Revision 1.13  2007/02/12 15:52:57  cbalint
+ * $Log$
+ * Revision 1.13  2007-02-12 15:52:57  cbalint
  *
  *    Preliminary cleanup.
  *    Get rif of unitialized variables, and unused ones.
diff --git a/contrib/ogdi_info/.cvsignore b/contrib/ogdi_info/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/contrib/ogdi_info/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/contrib/ogdi_info/ogdi_info.c b/contrib/ogdi_info/ogdi_info.c
index c2df08a..b2eda3a 100755
--- a/contrib/ogdi_info/ogdi_info.c
+++ b/contrib/ogdi_info/ogdi_info.c
@@ -1,5 +1,5 @@
 /******************************************************************************
- * $Id: ogdi_info.c,v 1.14 2004/10/26 19:45:53 warmerda Exp $
+ * $Id$
  *
  * Project:  OGDI Contributed Clients
  * Purpose:  Simple console query program for testing OGDI.
@@ -19,8 +19,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ogdi_info.c,v $
- * Revision 1.14  2004/10/26 19:45:53  warmerda
+ * $Log$
+ * Revision 1.14  2004-10-26 19:45:53  warmerda
  * Fixed last fix.
  *
  * Revision 1.13  2004/10/26 19:37:52  warmerda
diff --git a/lib/.cvsignore b/lib/.cvsignore
new file mode 100644
index 0000000..5f41cb6
--- /dev/null
+++ b/lib/.cvsignore
@@ -0,0 +1,2 @@
+linux
+solaris
diff --git a/lib/win32/.cvsignore b/lib/win32/.cvsignore
new file mode 100644
index 0000000..b73ed95
--- /dev/null
+++ b/lib/win32/.cvsignore
@@ -0,0 +1,2 @@
+*.exp
+*.lib
diff --git a/makefile b/makefile
index b23becf..c8cd16f 100644
--- a/makefile
+++ b/makefile
@@ -12,9 +12,11 @@
 
 EXTRA_INSTALL_TARGETS	=	mk_nonlocal_install_dirs
 
+ifneq ($(OVERRIDE_COMMON_MAK),no)
 ifeq ($(TARGET),win32)
 IGNORE := $(shell sed "s/@OGDI_MAJOR@/3/" < $(TOPDIR)/config/common.mak.in | sed "s/@OGDI_MINOR@/2/" > $(TOPDIR)/config/common.mak)
 endif
+endif
 include $(TOPDIR)/config/common.mak
  
 #
diff --git a/mkogdidist.sh b/mkogdidist.sh
index 7b5ca0f..af2d2a4 100755
--- a/mkogdidist.sh
+++ b/mkogdidist.sh
@@ -13,10 +13,8 @@
 # It is provided "as is" without express or implied warranty.
 #
 
-TARGETDIR=ogdi.sourceforge.net:ftp-ogdi/.
-
 if [ $# -lt 1 ] ; then
-  echo "Usage: mkogdidist version [-install]"
+  echo "Usage: mkogdidist version"
   echo
   echo "Example: mkogdidist 3.1alpha"
   exit
@@ -25,26 +23,20 @@ fi
 OGDI_VERSION=$1
 DIST_NAME=ogdi-$OGDI_VERSION
 
-
 rm -rf dist_wrk  
 mkdir dist_wrk
 cd dist_wrk
 
-export CVSROOT=:pserver:anonymous at ogdi.cvs.sourceforge.net:/cvsroot/ogdi
-
-echo "Please hit enter when prompted for a password."
-cvs login
-
-cvs checkout -P devdir
+git clone https://github.com/libogdi/ogdi devdir
 
 if [ \! -d devdir ] ; then
-  echo "cvs checkout reported an error ... abandoning mkogdidist"
+  echo "git clone reported an error ... abandoning mkogdidist"
   exit
 fi
 
 # remove junks
-find devdir -name CVS -exec rm -rf {} \;
-find devdir -name ".cvsignore" -exec rm -rf '{}' \;
+find devdir -name .git -exec rm -rf {} \;
+
 # fix wrongly encoded files from tarball
 set +x
 for f in `find . -type f` ; do
@@ -74,8 +66,3 @@ zip -r ../${DIST_NAME}.zip ${DIST_NAME}
 
 cd ..
 rm -rf dist_wrk
-
-if test "$2" = "-install" ; then
-  scp ${DIST_NAME}.tar.gz $TARGETDIR
-  scp ${DIST_NAME}.zip $TARGETDIR
-fi
diff --git a/ogdi/c-api/.cvsignore b/ogdi/c-api/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/c-api/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/c-api/client.c b/ogdi/c-api/client.c
index a1e9eee..c0169a0 100644
--- a/ogdi/c-api/client.c
+++ b/ogdi/c-api/client.c
@@ -17,8 +17,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: client.c,v $
- * Revision 1.17  2016/06/28 14:32:45  erouault
+ * $Log$
+ * Revision 1.17  2016-06-28 14:32:45  erouault
  * Fix all warnings about unused variables raised by GCC 4.8
  *
  * Revision 1.16  2008/05/28 01:34:30  cbalint
@@ -68,7 +68,7 @@
 #include "matrix.h"
 #include <assert.h>
 
-ECS_CVSID("$Id: client.c,v 1.17 2016/06/28 14:32:45 erouault Exp $");
+ECS_CVSID("$Id$");
 
 /* 
    Definitions specific to c_interface 
diff --git a/ogdi/c-api/ecs_capabilities.c b/ogdi/c-api/ecs_capabilities.c
index 7abf8a4..760ac61 100644
--- a/ogdi/c-api/ecs_capabilities.c
+++ b/ogdi/c-api/ecs_capabilities.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecs_capabilities.c,v $
- * Revision 1.3  2001/06/13 17:17:40  warmerda
+ * $Log$
+ * Revision 1.3  2001-06-13 17:17:40  warmerda
  * fixed capabilities to match 6.2 spec
  *
  * Revision 1.2  2001/04/12 18:14:16  warmerda
@@ -35,7 +35,7 @@
 
 #include "expat.h"
 
-ECS_CVSID("$Id: ecs_capabilities.c,v 1.3 2001/06/13 17:17:40 warmerda Exp $");
+ECS_CVSID("$Id$");
 
 #define STACK_MAX   100
 
diff --git a/ogdi/c-api/ecs_dyna.c b/ogdi/c-api/ecs_dyna.c
index f4245fa..31134bc 100644
--- a/ogdi/c-api/ecs_dyna.c
+++ b/ogdi/c-api/ecs_dyna.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecs_dyna.c,v $
- * Revision 1.6  2016/07/11 09:15:53  erouault
+ * $Log$
+ * Revision 1.6  2016-07-11 09:15:53  erouault
  * fix ecs_OpenDynamicLib on 64 bit Windows (OGDI #72)
  *
  * Revision 1.5  2007/02/12 18:06:31  cbalint
@@ -34,7 +34,7 @@
 
 #include "ecs.h"
 
-ECS_CVSID("$Id: ecs_dyna.c,v 1.6 2016/07/11 09:15:53 erouault Exp $");
+ECS_CVSID("$Id$");
 
 #if !defined(MISSING_DLFCN_H)
 #include <dlfcn.h>
diff --git a/ogdi/c-api/ecs_xdrz.c b/ogdi/c-api/ecs_xdrz.c
index 0f3494f..145a556 100644
--- a/ogdi/c-api/ecs_xdrz.c
+++ b/ogdi/c-api/ecs_xdrz.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecs_xdrz.c,v $
- * Revision 1.4  2007/02/12 15:52:57  cbalint
+ * $Log$
+ * Revision 1.4  2007-02-12 15:52:57  cbalint
  *
  *    Preliminary cleanup.
  *    Get rif of unitialized variables, and unused ones.
@@ -33,7 +33,7 @@
 #include "ecs.h"
 #include "zlib.h"
 
-ECS_CVSID("$Id: ecs_xdrz.c,v 1.4 2007/02/12 15:52:57 cbalint Exp $");
+ECS_CVSID("$Id$");
 
 /* Variables used for compression/decompression routines */
 static void *obuf = NULL;
diff --git a/ogdi/c-api/ecsassoc.c b/ogdi/c-api/ecsassoc.c
index 9dc08da..cd9fd8e 100644
--- a/ogdi/c-api/ecsassoc.c
+++ b/ogdi/c-api/ecsassoc.c
@@ -17,8 +17,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecsassoc.c,v $
- * Revision 1.6  2016/07/06 08:59:46  erouault
+ * $Log$
+ * Revision 1.6  2016-07-06 08:59:46  erouault
  * ecs_SetError(): display error message on stderr if memory allocation fails
  *
  * Revision 1.5  2016/07/04 17:33:49  erouault
@@ -43,7 +43,7 @@
 
 #include "ecs.h"
 
-ECS_CVSID("$Id: ecsassoc.c,v 1.6 2016/07/06 08:59:46 erouault Exp $");
+ECS_CVSID("$Id$");
 
 char memory_error[] = "not enough memory";
 
diff --git a/ogdi/c-api/ecsdist.c b/ogdi/c-api/ecsdist.c
index 1a81d10..926182a 100644
--- a/ogdi/c-api/ecsdist.c
+++ b/ogdi/c-api/ecsdist.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecsdist.c,v $
- * Revision 1.5  2001/04/12 19:25:27  warmerda
+ * $Log$
+ * Revision 1.5  2001-04-12 19:25:27  warmerda
  * added RGB<->Pixel functions
  *
  * Revision 1.4  2001/04/09 15:04:34  warmerda
@@ -29,7 +29,7 @@
 #include <math.h>
 #include "ecs.h"
 
-ECS_CVSID("$Id: ecsdist.c,v 1.5 2001/04/12 19:25:27 warmerda Exp $");
+ECS_CVSID("$Id$");
 
 double currenttolerance = 0.0;
 
diff --git a/ogdi/c-api/ecsgeo.c b/ogdi/c-api/ecsgeo.c
index ba8bcf7..f1495ad 100644
--- a/ogdi/c-api/ecsgeo.c
+++ b/ogdi/c-api/ecsgeo.c
@@ -16,15 +16,15 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecsgeo.c,v $
- * Revision 1.3  2001/04/09 15:04:34  warmerda
+ * $Log$
+ * Revision 1.3  2001-04-09 15:04:34  warmerda
  * applied new source headers
  *
  */
 
 #include "ecs.h"
 
-ECS_CVSID("$Id: ecsgeo.c,v 1.3 2001/04/09 15:04:34 warmerda Exp $");
+ECS_CVSID("$Id$");
 
 static double ecs_QA, ecs_QB, ecs_QC;
 static double ecs_QbarA, ecs_QbarB, ecs_QbarC, ecs_QbarD;
diff --git a/ogdi/c-api/ecshash.c b/ogdi/c-api/ecshash.c
index 983dd60..911747d 100644
--- a/ogdi/c-api/ecshash.c
+++ b/ogdi/c-api/ecshash.c
@@ -12,15 +12,15 @@
  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  ******************************************************************************
  *
- * $Log: ecshash.c,v $
- * Revision 1.3  2001/04/09 15:04:34  warmerda
+ * $Log$
+ * Revision 1.3  2001-04-09 15:04:34  warmerda
  * applied new source headers
  *
  */
 
 #include "ecs.h"
 
-ECS_CVSID("$Id: ecshash.c,v 1.3 2001/04/09 15:04:34 warmerda Exp $");
+ECS_CVSID("$Id$");
 
 /*
  * When there are this many entries per bucket, on average, rebuild
diff --git a/ogdi/c-api/ecsinfo.c b/ogdi/c-api/ecsinfo.c
index 3a700be..05abcff 100644
--- a/ogdi/c-api/ecsinfo.c
+++ b/ogdi/c-api/ecsinfo.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecsinfo.c,v $
- * Revision 1.4  2007/02/12 21:01:48  cbalint
+ * $Log$
+ * Revision 1.4  2007-02-12 21:01:48  cbalint
  *      Fix win32 target. It build and works now. (tested with VC6)
  *
  * Revision 1.3  2007/02/12 16:09:06  cbalint
@@ -45,7 +45,7 @@
 #include "ecs.h"
 #include <ogdi_macro.h>
 
-ECS_CVSID("$Id: ecsinfo.c,v 1.4 2007/02/12 21:01:48 cbalint Exp $");
+ECS_CVSID("$Id$");
 
 #ifdef _WINDOWS
 #define strcasecmp(a,b) stricmp(a,b)
diff --git a/ogdi/c-api/ecslist.c b/ogdi/c-api/ecslist.c
index 68d591b..55a054e 100644
--- a/ogdi/c-api/ecslist.c
+++ b/ogdi/c-api/ecslist.c
@@ -16,15 +16,15 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecslist.c,v $
- * Revision 1.2  2001/04/09 15:04:34  warmerda
+ * $Log$
+ * Revision 1.2  2001-04-09 15:04:34  warmerda
  * applied new source headers
  *
  */
 
 #include "ecs.h"
 
-ECS_CVSID("$Id: ecslist.c,v 1.2 2001/04/09 15:04:34 warmerda Exp $");
+ECS_CVSID("$Id$");
 
 #define UCHAR(c) ((unsigned char) (c))
 
diff --git a/ogdi/c-api/ecsregex.c b/ogdi/c-api/ecsregex.c
index 19b2804..08bdd77 100644
--- a/ogdi/c-api/ecsregex.c
+++ b/ogdi/c-api/ecsregex.c
@@ -23,8 +23,8 @@
  *
  ******************************************************************************
  *
- * $Log: ecsregex.c,v $
- * Revision 1.2  2001/04/09 15:04:34  warmerda
+ * $Log$
+ * Revision 1.2  2001-04-09 15:04:34  warmerda
  * applied new source headers
  *
  */
@@ -58,7 +58,7 @@
 
 #include "ecs.h"
 
-ECS_CVSID("$Id: ecsregex.c,v 1.2 2001/04/09 15:04:34 warmerda Exp $");
+ECS_CVSID("$Id$");
 
 /*
  * The variable below is set to NULL before invoking regexp functions
diff --git a/ogdi/c-api/ecssplit.c b/ogdi/c-api/ecssplit.c
index 0ce2708..acbc2bc 100644
--- a/ogdi/c-api/ecssplit.c
+++ b/ogdi/c-api/ecssplit.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecssplit.c,v $
- * Revision 1.3  2003/08/27 05:27:21  warmerda
+ * $Log$
+ * Revision 1.3  2003-08-27 05:27:21  warmerda
  * Modified ecs_SplitURL() so that calling with a NULL url indicates it
  * should free the resources associated with the static regular expressions.
  * This makes memory leak debugging with OGDI more convenient.
@@ -29,7 +29,7 @@
 
 #include "ecs.h"
 
-ECS_CVSID("$Id: ecssplit.c,v 1.3 2003/08/27 05:27:21 warmerda Exp $");
+ECS_CVSID("$Id$");
 
 /* 
    -------------------------------------------------
diff --git a/ogdi/c-api/ecstile.c b/ogdi/c-api/ecstile.c
index a0d0d56..567e8c1 100644
--- a/ogdi/c-api/ecstile.c
+++ b/ogdi/c-api/ecstile.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecstile.c,v $
- * Revision 1.5  2007/02/12 15:52:57  cbalint
+ * $Log$
+ * Revision 1.5  2007-02-12 15:52:57  cbalint
  *
  *    Preliminary cleanup.
  *    Get rif of unitialized variables, and unused ones.
@@ -33,7 +33,7 @@
 
 #include "ecs.h"
 
-ECS_CVSID("$Id: ecstile.c,v 1.5 2007/02/12 15:52:57 cbalint Exp $");
+ECS_CVSID("$Id$");
 
 /*
    *******************************************************************
diff --git a/ogdi/c-api/ogdi.def b/ogdi/c-api/ogdi.def
index 8caaf91..cd4c8c1 100644
--- a/ogdi/c-api/ogdi.def
+++ b/ogdi/c-api/ogdi.def
@@ -156,3 +156,4 @@ EXPORTS
 	ecs_SetReportErrorFunction
 	ecs_ShouldStopOnError
 	ecs_SetErrorShouldStop
+    ecs_TileDeleteAllLines
\ No newline at end of file
diff --git a/ogdi/c-api/opendir.c b/ogdi/c-api/opendir.c
index dad23ef..518c70a 100644
--- a/ogdi/c-api/opendir.c
+++ b/ogdi/c-api/opendir.c
@@ -18,8 +18,8 @@
  *    Changes made by Gordon Chaffee (chaffee at bugs-bunny.cs.berkeley.edu)
  ******************************************************************************
  *
- * $Log: opendir.c,v $
- * Revision 1.2  2001/04/09 15:04:34  warmerda
+ * $Log$
+ * Revision 1.2  2001-04-09 15:04:34  warmerda
  * applied new source headers
  *
  */
diff --git a/ogdi/c-api/opendir.h b/ogdi/c-api/opendir.h
index 334caef..0781920 100644
--- a/ogdi/c-api/opendir.h
+++ b/ogdi/c-api/opendir.h
@@ -21,8 +21,8 @@
  * Cleanup, other hackery, Summer '92, Brian Moran , brianmo at microsoft.com 
  ******************************************************************************
  *
- * $Log: opendir.h,v $
- * Revision 1.2  2001/04/09 15:04:34  warmerda
+ * $Log$
+ * Revision 1.2  2001-04-09 15:04:34  warmerda
  * applied new source headers
  *
  */
diff --git a/ogdi/c-api/server.c b/ogdi/c-api/server.c
index bf1a4c0..6dc823b 100644
--- a/ogdi/c-api/server.c
+++ b/ogdi/c-api/server.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: server.c,v $
- * Revision 1.12  2016/07/06 08:59:20  erouault
+ * $Log$
+ * Revision 1.12  2016-07-06 08:59:20  erouault
  * fix memory leaks in error code paths of svr_CreateServer()
  *
  * Revision 1.11  2016/06/28 14:32:45  erouault
@@ -63,7 +63,7 @@
 
 #include <ogdi_macro.h>
 
-ECS_CVSID("$Id: server.c,v 1.12 2016/07/06 08:59:20 erouault Exp $");
+ECS_CVSID("$Id$");
 
 ecs_Result svr_dummy_result;
 
diff --git a/ogdi/datum_driver/canada/.cvsignore b/ogdi/datum_driver/canada/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/datum_driver/canada/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/datum_driver/canada/dtcanada.def b/ogdi/datum_driver/canada/dtcanada.def
index 529cd5f..679bc0c 100644
--- a/ogdi/datum_driver/canada/dtcanada.def
+++ b/ogdi/datum_driver/canada/dtcanada.def
@@ -1,12 +1,12 @@
-LIBRARY   dtcanada
-
-CODE      PRELOAD MOVEABLE DISCARDABLE
-DATA      PRELOAD SINGLE
-
-EXPORTS
-	dyn_nad_init
-	dyn_nad_close
-	dyn_nad_forward
-	dyn_nad_reverse
-	DllMain
-
+LIBRARY   dtcanada
+
+CODE      PRELOAD MOVEABLE DISCARDABLE
+DATA      PRELOAD SINGLE
+
+EXPORTS
+	dyn_nad_init
+	dyn_nad_close
+	dyn_nad_forward
+	dyn_nad_reverse
+	DllMain
+
diff --git a/ogdi/datum_driver/usa/.cvsignore b/ogdi/datum_driver/usa/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/datum_driver/usa/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/datum_driver/usa/dtusa.c b/ogdi/datum_driver/usa/dtusa.c
index 5bea726..a122268 100644
--- a/ogdi/datum_driver/usa/dtusa.c
+++ b/ogdi/datum_driver/usa/dtusa.c
@@ -26,6 +26,40 @@
   ********************************************************************/
 
 #include "ecs.h"
+
+#ifdef DUMMY_NAD_CVT
+
+int dyn_nad_init(privdata, table) 
+     void **privdata;
+     char *table;
+{
+    return TRUE;
+}
+
+int dyn_nad_close(privdata)
+     void *privdata;
+{
+    return TRUE;
+}
+
+int dyn_nad_forward(privdata,x,y)
+     void *privdata;
+     double *x;
+     double *y;
+{
+  return TRUE;
+}
+
+int dyn_nad_reverse(privdata,x,y)
+     void *privdata;
+     double *x;
+     double *y;
+{
+  return TRUE;
+}
+
+#else /* DUMMY_NAD_CVT */
+    
 #include "projects.h"
 
 typedef struct {
@@ -356,3 +390,5 @@ DllMain( HINSTANCE  hinstDLL,   // handle of DLL module
   return TRUE;
 }
 #endif
+
+#endif /* DUMMY_NAD_CVT */
diff --git a/ogdi/datum_driver/usa/dtusa.def b/ogdi/datum_driver/usa/dtusa.def
index 70b730d..88ba78d 100644
--- a/ogdi/datum_driver/usa/dtusa.def
+++ b/ogdi/datum_driver/usa/dtusa.def
@@ -1,13 +1,13 @@
-LIBRARY   dtusa
-
-CODE      PRELOAD MOVEABLE DISCARDABLE
-DATA      PRELOAD SINGLE
-
-EXPORTS
-	dyn_nad_init
-	dyn_nad_close
-	dyn_nad_forward
-	dyn_nad_reverse
-	DllMain
-
-
+LIBRARY   dtusa
+
+CODE      PRELOAD MOVEABLE DISCARDABLE
+DATA      PRELOAD SINGLE
+
+EXPORTS
+	dyn_nad_init
+	dyn_nad_close
+	dyn_nad_forward
+	dyn_nad_reverse
+	DllMain
+
+
diff --git a/ogdi/driver/adrg/.cvsignore b/ogdi/driver/adrg/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/driver/adrg/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/driver/adrg/adrg.c b/ogdi/driver/adrg/adrg.c
index a217b2a..41f4f9b 100644
--- a/ogdi/driver/adrg/adrg.c
+++ b/ogdi/driver/adrg/adrg.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: adrg.c,v $
- * Revision 1.10  2016/06/27 22:01:46  erouault
+ * $Log$
+ * Revision 1.10  2016-06-27 22:01:46  erouault
  * Fix memory leak in ADRG driver
  *
  * Revision 1.9  2007/02/12 16:09:06  cbalint
@@ -58,7 +58,7 @@
 #include "datadict.h"
 #include <assert.h>
 
-ECS_CVSID("$Id: adrg.c,v 1.10 2016/06/27 22:01:46 erouault Exp $");
+ECS_CVSID("$Id$");
 
 static void	_releaseAllLayers _ANSI_ARGS_((ecs_Server *s));
 int colorintensity[6] = {0,63,105,147,189,255};
diff --git a/ogdi/driver/adrg/adrg.h b/ogdi/driver/adrg/adrg.h
index 415189a..bbbc6ce 100644
--- a/ogdi/driver/adrg/adrg.h
+++ b/ogdi/driver/adrg/adrg.h
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: adrg.h,v $
- * Revision 1.8  2007/02/12 21:01:48  cbalint
+ * $Log$
+ * Revision 1.8  2007-02-12 21:01:48  cbalint
  *      Fix win32 target. It build and works now. (tested with VC6)
  *
  * Revision 1.7  2007/02/12 16:09:06  cbalint
diff --git a/ogdi/driver/adrg/object.c b/ogdi/driver/adrg/object.c
index 288e8cd..b681e77 100644
--- a/ogdi/driver/adrg/object.c
+++ b/ogdi/driver/adrg/object.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: object.c,v $
- * Revision 1.7  2016/06/28 14:32:45  erouault
+ * $Log$
+ * Revision 1.7  2016-06-28 14:32:45  erouault
  * Fix all warnings about unused variables raised by GCC 4.8
  *
  * Revision 1.6  2007/02/12 16:09:06  cbalint
@@ -45,7 +45,7 @@
 #include "ecs.h"
 #include "adrg.h"
 
-ECS_CVSID("$Id: object.c,v 1.7 2016/06/28 14:32:45 erouault Exp $");
+ECS_CVSID("$Id$");
 
 /*
  *  --------------------------------------------------------------------------
diff --git a/ogdi/driver/adrg/utils.c b/ogdi/driver/adrg/utils.c
index 024e52e..119e539 100644
--- a/ogdi/driver/adrg/utils.c
+++ b/ogdi/driver/adrg/utils.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: utils.c,v $
- * Revision 1.8  2016/06/28 14:32:45  erouault
+ * $Log$
+ * Revision 1.8  2016-06-28 14:32:45  erouault
  * Fix all warnings about unused variables raised by GCC 4.8
  *
  * Revision 1.7  2007/02/12 16:09:06  cbalint
@@ -48,7 +48,7 @@
 
 #include "adrg.h"
 
-ECS_CVSID("$Id: utils.c,v 1.8 2016/06/28 14:32:45 erouault Exp $");
+ECS_CVSID("$Id$");
 
 /* 
    ----------------------------------------------------------
diff --git a/ogdi/driver/dted/.cvsignore b/ogdi/driver/dted/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/driver/dted/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/driver/dted/dted.c b/ogdi/driver/dted/dted.c
index 6d5a213..910662f 100644
--- a/ogdi/driver/dted/dted.c
+++ b/ogdi/driver/dted/dted.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: dted.c,v $
- * Revision 1.10  2001/06/13 17:17:40  warmerda
+ * $Log$
+ * Revision 1.10  2001-06-13 17:17:40  warmerda
  * fixed capabilities to match 6.2 spec
  *
  * Revision 1.9  2001/04/19 05:04:12  warmerda
@@ -37,7 +37,7 @@
 #include "dted.h"
 #include "datadict.h"
 
-ECS_CVSID("$Id: dted.c,v 1.10 2001/06/13 17:17:40 warmerda Exp $");
+ECS_CVSID("$Id$");
 
 /* layer oriented functions are keeped in data structure to simplify code */
 
diff --git a/ogdi/driver/dted/dted.h b/ogdi/driver/dted/dted.h
index c4ea20b..b2198d7 100644
--- a/ogdi/driver/dted/dted.h
+++ b/ogdi/driver/dted/dted.h
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: dted.h,v $
- * Revision 1.4  2001/04/10 14:29:43  warmerda
+ * $Log$
+ * Revision 1.4  2001-04-10 14:29:43  warmerda
  * Upgraded with changes from DND (hand applied to avoid losing bug fixes).
  * Patch also includes change to exclude zero elevations when computing
  * mincat/maxcat.
diff --git a/ogdi/driver/dted/object.c b/ogdi/driver/dted/object.c
index 497b84c..e641a73 100644
--- a/ogdi/driver/dted/object.c
+++ b/ogdi/driver/dted/object.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: object.c,v $
- * Revision 1.8  2016/06/28 14:32:45  erouault
+ * $Log$
+ * Revision 1.8  2016-06-28 14:32:45  erouault
  * Fix all warnings about unused variables raised by GCC 4.8
  *
  * Revision 1.7  2007/02/12 15:52:57  cbalint
@@ -39,7 +39,7 @@
 #include "ecs.h"
 #include "dted.h"
 
-ECS_CVSID("$Id: object.c,v 1.8 2016/06/28 14:32:45 erouault Exp $");
+ECS_CVSID("$Id$");
 
 /*
  *  --------------------------------------------------------------------------
diff --git a/ogdi/driver/dted/utils.c b/ogdi/driver/dted/utils.c
index 3cdedc8..f055b68 100644
--- a/ogdi/driver/dted/utils.c
+++ b/ogdi/driver/dted/utils.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: utils.c,v $
- * Revision 1.8  2016/06/28 14:32:45  erouault
+ * $Log$
+ * Revision 1.8  2016-06-28 14:32:45  erouault
  * Fix all warnings about unused variables raised by GCC 4.8
  *
  * Revision 1.7  2007/02/12 15:52:57  cbalint
@@ -35,7 +35,7 @@
 
 #include "dted.h"
 
-ECS_CVSID("$Id: utils.c,v 1.8 2016/06/28 14:32:45 erouault Exp $");
+ECS_CVSID("$Id$");
 
 /* 
    ----------------------------------------------------------
diff --git a/ogdi/driver/network/.cvsignore b/ogdi/driver/network/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/driver/network/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/driver/network/remote.def b/ogdi/driver/network/remote.def
index eb3f916..996b125 100644
--- a/ogdi/driver/network/remote.def
+++ b/ogdi/driver/network/remote.def
@@ -1,24 +1,24 @@
-LIBRARY   REMOTE
-
-CODE      PRELOAD MOVEABLE DISCARDABLE
-DATA      PRELOAD SINGLE
-
-EXPORTS
-	dyn_CreateServer
-	dyn_DestroyServer
-	dyn_SelectLayer
-	dyn_SelectRegion
-	dyn_GetDictionary
-	dyn_GetNextObject
-	dyn_UpdateDictionary
-	dyn_GetServerProjection
-	dyn_GetGlobalBound
-	dyn_ReleaseLayer
-	dyn_GetAttributesFormat
-	dyn_GetRasterInfo
-	dyn_GetObject
-	dyn_GetObjectIdFromCoord
-	dyn_SetServerLanguage
-	dyn_SetServerProjection
-	dyn_SetRasterConversion
-	dyn_SetCompression
+LIBRARY   REMOTE
+
+CODE      PRELOAD MOVEABLE DISCARDABLE
+DATA      PRELOAD SINGLE
+
+EXPORTS
+	dyn_CreateServer
+	dyn_DestroyServer
+	dyn_SelectLayer
+	dyn_SelectRegion
+	dyn_GetDictionary
+	dyn_GetNextObject
+	dyn_UpdateDictionary
+	dyn_GetServerProjection
+	dyn_GetGlobalBound
+	dyn_ReleaseLayer
+	dyn_GetAttributesFormat
+	dyn_GetRasterInfo
+	dyn_GetObject
+	dyn_GetObjectIdFromCoord
+	dyn_SetServerLanguage
+	dyn_SetServerProjection
+	dyn_SetRasterConversion
+	dyn_SetCompression
diff --git a/ogdi/driver/rpf/.cvsignore b/ogdi/driver/rpf/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/driver/rpf/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/driver/rpf/object.c b/ogdi/driver/rpf/object.c
index cfa5dcc..d12a042 100644
--- a/ogdi/driver/rpf/object.c
+++ b/ogdi/driver/rpf/object.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: object.c,v $
- * Revision 1.3  2001/04/12 19:22:46  warmerda
+ * $Log$
+ * Revision 1.3  2001-04-12 19:22:46  warmerda
  * applied DND support Image type support
  *
  */
@@ -25,7 +25,7 @@
 #include "ecs.h"
 #include "rpf.h"
 
-ECS_CVSID("$Id: object.c,v 1.3 2001/04/12 19:22:46 warmerda Exp $");
+ECS_CVSID("$Id$");
 
 /*
 *******************************************************************
diff --git a/ogdi/driver/rpf/rpf.c b/ogdi/driver/rpf/rpf.c
index 58a3f5a..e91c887 100644
--- a/ogdi/driver/rpf/rpf.c
+++ b/ogdi/driver/rpf/rpf.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: rpf.c,v $
- * Revision 1.14  2016/07/08 10:22:55  erouault
+ * $Log$
+ * Revision 1.14  2016-07-08 10:22:55  erouault
  * Fix various compilation problems on Windows (contributed by Jerome Siot)
  *
  * Revision 1.13  2007/02/24 16:58:17  cbalint
@@ -54,7 +54,7 @@
 #include "rpf.h"
 #include "datadict.h"
 
-ECS_CVSID("$Id: rpf.c,v 1.14 2016/07/08 10:22:55 erouault Exp $");
+ECS_CVSID("$Id$");
 
 int colorintensity[6] = {0,63,105,147,189,255};
 
@@ -182,11 +182,7 @@ void dyn_freelayerpriv(lpriv)
       lpriv->buffertile = NULL;
     }
     
-#ifdef notdef
-   /* FIXME? ecs_TileDeleteAllLines does not exist */
-   /* empty tilestruct */
    ecs_TileDeleteAllLines (&(lpriv->tilestruct));
-#endif
     
     if (lpriv->ff != NULL) 
       free(lpriv->ff);
diff --git a/ogdi/driver/rpf/rpf.h b/ogdi/driver/rpf/rpf.h
index 3fd5c9f..7bcd47d 100644
--- a/ogdi/driver/rpf/rpf.h
+++ b/ogdi/driver/rpf/rpf.h
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: rpf.h,v $
- * Revision 1.7  2007/02/12 21:01:48  cbalint
+ * $Log$
+ * Revision 1.7  2007-02-12 21:01:48  cbalint
  *      Fix win32 target. It build and works now. (tested with VC6)
  *
  * Revision 1.6  2007/02/12 16:09:06  cbalint
diff --git a/ogdi/driver/rpf/utils.c b/ogdi/driver/rpf/utils.c
index 966c7b7..dd05fc3 100644
--- a/ogdi/driver/rpf/utils.c
+++ b/ogdi/driver/rpf/utils.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: utils.c,v $
- * Revision 1.10  2016/06/28 14:32:45  erouault
+ * $Log$
+ * Revision 1.10  2016-06-28 14:32:45  erouault
  * Fix all warnings about unused variables raised by GCC 4.8
  *
  * Revision 1.9  2007/02/12 16:09:06  cbalint
@@ -51,7 +51,7 @@
 
 #include "rpf.h"
 
-ECS_CVSID("$Id: utils.c,v 1.10 2016/06/28 14:32:45 erouault Exp $");
+ECS_CVSID("$Id$");
 
 void dyn_string_tolower(char *);
 
diff --git a/ogdi/driver/skeleton/.cvsignore b/ogdi/driver/skeleton/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/driver/skeleton/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/driver/vrf/.cvsignore b/ogdi/driver/vrf/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/driver/vrf/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/driver/vrf/feature.c b/ogdi/driver/vrf/feature.c
index 56452cd..ac6b857 100644
--- a/ogdi/driver/vrf/feature.c
+++ b/ogdi/driver/vrf/feature.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: feature.c,v $
- * Revision 1.20  2016/07/06 09:00:14  erouault
+ * $Log$
+ * Revision 1.20  2016-07-06 09:00:14  erouault
  * add heuristics in vrf_get_ring_coords() to detect cycling topology of edges that lead to endless looping and eventually crashes. Be robust to memory allocation failures in various places, and properly cleanup allocated structures when returning
  *
  * Revision 1.19  2016/06/28 14:32:45  erouault
@@ -118,7 +118,7 @@
 #include "vrf.h"
 #include <assert.h>
 
-ECS_CVSID("$Id: feature.c,v 1.20 2016/07/06 09:00:14 erouault Exp $");
+ECS_CVSID("$Id$");
 
 vpf_projection_type NOPROJ = {DDS, 0.0, 0.0, 0.0, 0.0, 0, 0.0, 0.0,
                               NULL, NULL, "Decimal Degrees     "};
@@ -239,11 +239,13 @@ static int vrf_merge_line_prim( int *vertCount, double * vertX, double *vertY,
   
   ********************************************************************/
 
-int vrf_get_merged_line_feature (s, layer, primCount, primList)
+int vrf_get_merged_line_feature (s, layer, primCount, primList, tileList, dryRun)
      ecs_Server *s;
      ecs_Layer *layer;
      int primCount;
      int32 *primList;
+     short *tileList;
+     int dryRun;
 {
     int		iPrim;
     ecs_Result	*primResults;
@@ -258,7 +260,9 @@ int vrf_get_merged_line_feature (s, layer, primCount, primList)
     
     if( primCount == 1 )
     {
-        return vrf_get_line_feature( s, layer, primList[0],
+        if( dryRun )
+            return TRUE;
+        return vrf_get_line_feature( s, layer, primList[0], tileList[0],
                                      &(s->result) );
     }
 
@@ -270,14 +274,15 @@ int vrf_get_merged_line_feature (s, layer, primCount, primList)
     
     for( iPrim = 0; iPrim < primCount; iPrim++ )
     {
-        if( !vrf_get_line_feature( s, layer, primList[iPrim],
+        if( !vrf_get_line_feature( s, layer, primList[iPrim], tileList[iPrim],
                                    primResults+iPrim ) )
         {
             for( ; iPrim >=0; iPrim-- )
                 ecs_CleanUp( primResults + iPrim );
 
             free( primResults );
-            ecs_SetError(&(s->result), 1,"Error in vrf_get_merged_line_feature");
+            if( !dryRun )
+                ecs_SetError(&(s->result), 1,"Error in vrf_get_merged_line_feature");
             return FALSE;
         }
 
@@ -328,17 +333,51 @@ int vrf_get_merged_line_feature (s, layer, primCount, primList)
         }
     }
 
-    /*
-      Build returned line structure.
-      */
-    if (!ecs_SetGeomLine(&(s->result), vertCount))
-        return FALSE; 
-    
-    for( i = 0; i < vertCount; i++ )
+#ifdef DEBUG
+    if( primsRemaining )
     {
-        ECS_SETGEOMLINECOORD((&(s->result)), i, vertX[i], vertY[i]);
+        fprintf(stderr, "primCount = %d, primsRemaining = %d\n",
+                primCount, primsRemaining);
+        for( iPrim = 0; iPrim < primCount; iPrim++ )
+        {
+            line = &(ECSGEOM((primResults+iPrim)).line);
+
+            if( iPrim == 0 || primConsumed[iPrim] )
+                fprintf(stderr,"consumed line\n");
+            else
+                fprintf(stderr,"remaining line\n");
+            fprintf(stderr, "tile: %d\n", tileList[iPrim]);
+            for( i = 0; i < line->c.c_len; i++ )
+            {
+                fprintf(stderr, "%f %f\n", line->c.c_val[i].x, line->c.c_val[i].y);
+            }
+        }
+        {
+            fprintf(stderr, "merged line\n");
+            for( i = 0; i < vertCount; i++ )
+            {
+                fprintf(stderr, "%f %f\n", vertX[i], vertY[i]);
+            }
+        }
     }
-    
+#endif
+
+    if( !dryRun )
+    {
+        assert( primsRemaining == 0 );
+
+        /*
+        Build returned line structure.
+        */
+        if (!ecs_SetGeomLine(&(s->result), vertCount))
+            return FALSE; 
+
+        for( i = 0; i < vertCount; i++ )
+        {
+            ECS_SETGEOMLINECOORD((&(s->result)), i, vertX[i], vertY[i]);
+        }
+    }
+
     /*
       Cleanup datastructures.
       */
@@ -352,7 +391,7 @@ int vrf_get_merged_line_feature (s, layer, primCount, primList)
 
     free( primResults );
 
-    return TRUE;
+    return primsRemaining == 0;
 }
 
 /*********************************************************************
@@ -372,10 +411,11 @@ int vrf_get_merged_line_feature (s, layer, primCount, primList)
   
   ********************************************************************/
 
-int vrf_get_line_feature (s, layer, prim_id, result)
+int vrf_get_line_feature (s, layer, prim_id, tile_id, result)
      ecs_Server *s;
      ecs_Layer *layer;
      int prim_id;
+     short tile_id;
      ecs_Result *result;
 {
   int32 pos, count;
@@ -399,6 +439,10 @@ int vrf_get_line_feature (s, layer, prim_id, result)
     return FALSE;
   }
 
+  if( !_selectTileLineWithRet(s, layer, tile_id) ) {
+    return FALSE;
+  }
+
   /* 
      -----------------------------------------------------------
 
@@ -619,15 +663,21 @@ static int vrf_get_mbr (table, prim_id, xmin, ymin, xmax, ymax)
   
   ********************************************************************/
 
-int vrf_get_line_mbr (layer, prim_id, xmin, ymin, xmax, ymax)
+int vrf_get_line_mbr (s, layer, prim_id, tile_id, xmin, ymin, xmax, ymax)
+     ecs_Server *s;
      ecs_Layer *layer;
      int32 prim_id;
+     short tile_id;
      double *xmin;
      double *ymin;
      double *xmax;
      double *ymax;
 {
   LayerPrivateData *lpriv = (LayerPrivateData *) layer->priv;
+
+  if( !_selectTileLineWithRet(s, layer, tile_id) )
+      return FALSE;
+
   return vrf_get_mbr(lpriv->l.line.mbrTable, prim_id, xmin, ymin, xmax, ymax);
 }
 
@@ -648,10 +698,12 @@ int vrf_get_line_mbr (layer, prim_id, xmin, ymin, xmax, ymax)
   
   ********************************************************************/
 
-int vrf_get_lines_mbr (layer, primCount, primList, xmin, ymin, xmax, ymax)
+int vrf_get_lines_mbr (s, layer, primCount, primList, tileList, xmin, ymin, xmax, ymax)
+     ecs_Server* s;
      ecs_Layer *layer;
      int32 primCount;
      int32 *primList;
+     short *tileList;
      double *xmin;
      double *ymin;
      double *xmax;
@@ -659,14 +711,14 @@ int vrf_get_lines_mbr (layer, primCount, primList, xmin, ymin, xmax, ymax)
 {
     int		i;
 
-    if( !vrf_get_line_mbr( layer, primList[0], xmin, ymin, xmax, ymax ) )
+    if( !vrf_get_line_mbr( s, layer, primList[0], tileList[0], xmin, ymin, xmax, ymax ) )
         return FALSE;
 
     for( i = 1; i < primCount; i++ )
     {
         double	x2min, x2max, y2min, y2max;
 
-        if( !vrf_get_line_mbr( layer, primList[i],
+        if( !vrf_get_line_mbr( s, layer, primList[i], tileList[i],
                                &x2min, &y2min, &x2max, &y2max ) )
             return FALSE;
 
diff --git a/ogdi/driver/vrf/object.c b/ogdi/driver/vrf/object.c
index 1ea988c..57444c1 100644
--- a/ogdi/driver/vrf/object.c
+++ b/ogdi/driver/vrf/object.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: object.c,v $
- * Revision 1.12  2016/07/06 09:00:39  erouault
+ * $Log$
+ * Revision 1.12  2016-07-06 09:00:39  erouault
  * VRF: implement ecs_SetErrorShouldStop() logic in the various _getNext.... methods
  *
  * Revision 1.11  2016/07/04 17:03:12  erouault
@@ -91,7 +91,7 @@
 #include "ecs.h"
 #include "vrf.h"
 
-ECS_CVSID("$Id: object.c,v 1.12 2016/07/06 09:00:39 erouault Exp $");
+ECS_CVSID("$Id$");
 
 /* 
 ********************************************************************
@@ -325,22 +325,25 @@ void _getPrimList( ecs_Server *s,
                    ecs_Layer *l, 
                    int32 object_id,
                    int32 *feature_id,
-                   short *tile_id,
                    int32 *primCount,
                    int32 **primList,
+                   short **tileList,
                    int32 *next_index )
 
 {
     LayerPrivateData *lpriv = (LayerPrivateData *) l->priv;
+    short       tile_id;
     int32	edg_id;
     int		maxCount = 0;
+    int32       object_id_save;
 
     /*
       Get the first primitive for this feature.
       */
     
-    _getTileAndPrimId(s,l,object_id,feature_id,tile_id,&edg_id);
+    _getTileAndPrimId(s,l,object_id,feature_id,&tile_id,&edg_id);
     object_id++;
+    object_id_save = object_id;
 
     /*
       If we aren't operating in merged format, just return this primiitive
@@ -348,7 +351,9 @@ void _getPrimList( ecs_Server *s,
     maxCount = 1;
     *primCount = 1;
     *primList = (int32 *) malloc(sizeof(int32) * maxCount);
+    *tileList = (short *) malloc(sizeof(short) * maxCount);
     (*primList)[0] = edg_id;
+    (*tileList)[0] = tile_id;
 
     if( !lpriv->mergeFeatures )
     {
@@ -364,14 +369,12 @@ void _getPrimList( ecs_Server *s,
     while( object_id < lpriv->joinTable.nrows )
     {
         int32	this_feature_id;
-        short	this_tile_id;
-        
+
         _getTileAndPrimId(s,l,object_id,
-                          &this_feature_id,&this_tile_id,&edg_id);
+                          &this_feature_id,&tile_id,&edg_id);
 
         if( this_feature_id != *feature_id )
             break;
-
         /*
           This primitive matches our feature_id, add to the list.
           */
@@ -379,6 +382,7 @@ void _getPrimList( ecs_Server *s,
         if( *primCount == maxCount )
         {
             int32* newPrimList;
+            short* newTileList;
             maxCount += 100;
             newPrimList = (int32*) realloc(*primList, sizeof(int32) * maxCount);
             if( newPrimList == NULL )
@@ -386,19 +390,47 @@ void _getPrimList( ecs_Server *s,
                 /* Should probably error out loudly */
                 free( *primList );
                 *primList = NULL;
+                free( *tileList );
+                *tileList = NULL;
                 *primCount = 0;
                 object_id++;
                 break;
             }
             *primList = newPrimList;
+
+            newTileList = (short*) realloc(*tileList, sizeof(short) * maxCount);
+            if( newPrimList == NULL )
+            {
+                /* Should probably error out loudly */
+                free( *primList );
+                *primList = NULL;
+                free( *tileList );
+                *tileList = NULL;
+                *primCount = 0;
+                object_id++;
+                break;
+            }
+            *tileList = newTileList;
         }
 
         (*primList)[*primCount] = edg_id;
+        (*tileList)[*primCount] = tile_id;
         (*primCount)++;
         
         object_id++;
     }
 
+    /* On some products, consecutive lines of same feature id are not mergeable,
+     * so return them one at a time to avoid loosing information */
+    if( *primCount > 1 )
+    {
+        if (!vrf_get_merged_line_feature(s,l,*primCount,*primList,*tileList,TRUE))
+        {
+            *primCount = 1;
+            object_id = object_id_save;
+        }
+    }
+
     *next_index = object_id;
 }
 
@@ -416,9 +448,9 @@ static void
 _getPrimListByFeatureId( ecs_Server *s, 
                          ecs_Layer *l, 
                          int32 object_id, /* this should be feature id */
-                         short *tile_id,
                          int32 *primCount,
                          int32 **primList,
+                         short **tileList,
                          int32 *next_index )
 
 {
@@ -432,20 +464,22 @@ _getPrimListByFeatureId( ecs_Server *s,
 
     for( edgeId = 0; edgeId < edgeCount; edgeId++ )
     {
+        short   tile_id;
         int32	prim_id, this_feature_id;
         
-        _getTileAndPrimId( s, l, edgeId, &this_feature_id, tile_id, &prim_id );
+        _getTileAndPrimId( s, l, edgeId, &this_feature_id, &tile_id, &prim_id );
 
         if( object_id == this_feature_id )
         {
-            _getPrimList( s, l, edgeId, &this_feature_id, tile_id,
-                          primCount, primList, next_index );
+            _getPrimList( s, l, edgeId, &this_feature_id,
+                          primCount, primList, tileList, next_index );
             return;
         }
     }
 
     *primCount = 0;
     *primList = NULL;
+    *tileList = NULL;
 }
 
 /*
@@ -866,15 +900,14 @@ _getNextObjectLine(s,l)
      ecs_Layer *l;
 {
   char buffer[256];
-  register ServerPrivateData *spriv = (ServerPrivateData *) s->priv;
   register LayerPrivateData *lpriv = (LayerPrivateData *) l->priv;
-  short tile_id;
   int32 line_id;
   int found = 0;
   char *temp;
   double xmin, xmax, ymin, ymax;
   int	edgeCount;
   int32	*primList = NULL, primCount = 0;
+  short *tileList = NULL;
 
   if( lpriv->mergeFeatures )
       edgeCount = lpriv->joinTable.nrows;
@@ -889,42 +922,21 @@ retry:
         free( primList );
         primList = NULL;
     }
+    if( tileList != NULL )
+    {
+        free( tileList );
+        tileList = NULL;
+    }
 
-    _getPrimList( s, l, l->index, &line_id, &tile_id, &primCount, &primList,
+    _getPrimList( s, l, l->index, &line_id, &primCount, &primList, &tileList,
                   (int32 *) &(l->index));
     
     if (set_member(line_id,lpriv->feature_rows)) {      
-      if (tile_id == -1) {
-        free( primList );
-        primList = NULL;
-	if( ecs_SetErrorShouldStop(&(s->result), 1, "The VRF tiles are badly defined") )
-          return;
-        continue;
-      }
-      if (tile_id == -2) {
-        free( primList );
-        primList = NULL;
-	if( ecs_SetErrorShouldStop(&(s->result), 1, "The join table is empty") )
-          return;
-        continue;
-      }
-
-      if( lpriv->isTiled && (tile_id < 1 || tile_id > spriv->nbTile) )
-      {
-        char szErrorMsg[128];
-        free( primList );
-        primList = NULL;
-        sprintf(szErrorMsg, "Object index=%d references incorrect tile_id=%d (nbTile=%d)",
-                l->index, tile_id, spriv->nbTile);
-        if( ecs_SetErrorShouldStop(&(s->result), 1, szErrorMsg) )
-          return;
-      }
-      else if (lpriv->isTiled == 0 || spriv->tile[tile_id-1].isSelected) {
-
-	_selectTileLine(s,l,tile_id);
-	if (!vrf_get_lines_mbr(l,primCount,primList,&xmin,&ymin,&xmax,&ymax)) {
+	if (!vrf_get_lines_mbr(s, l,primCount,primList,tileList,&xmin,&ymin,&xmax,&ymax)) {
           free( primList );
           primList = NULL;
+          free( tileList );
+          tileList = NULL;
 	  if( ecs_SetErrorShouldStop(&(s->result),1,"Unable to open mbr") )
             return;
           continue;
@@ -934,17 +946,18 @@ retry:
 	  found = 1;
 	  break;
 	} 
-      }
     }
   }
 
   /* if a feature is found, get the feature info */
 
   if (found) {
-    if( !vrf_get_merged_line_feature(s,l,primCount,primList) )
+    if( !vrf_get_merged_line_feature(s,l,primCount,primList,tileList, FALSE) )
     {
         free( primList );
         primList = NULL;
+        free( tileList );
+        tileList = NULL;
         if( !ecs_ShouldStopOnError() )
         {
             char* message= strdup(s->result.message);
@@ -963,11 +976,13 @@ retry:
 
   } else {
     free( primList );
+    free( tileList );
     ecs_SetError(&(s->result),2,"End of selection");
     return;
   }
 
   free( primList );
+  free( tileList );
 
   /* Add the identifier to the object */
 
@@ -1000,47 +1015,39 @@ _getObjectLine(s,l,id)
 
   register LayerPrivateData *lpriv = (LayerPrivateData *) l->priv;
   int object_id;
-  short tile_id;
   double xmin, xmax, ymin, ymax;
   char *temp;
   int32 primCount, *primList, next_object;
+  short *tileList;
 
   object_id = atoi(id);
 
-  _getPrimListByFeatureId( s, l, object_id, &tile_id,
-                           &primCount, &primList, &next_object );
+  _getPrimListByFeatureId( s, l, object_id,
+                           &primCount, &primList, &tileList, &next_object );
   if (primCount == 0) {
     ecs_SetError(&(s->result), 1,
                  "No primitives identified for this feature.");
     return;
   }
-  if (tile_id == -1) {
-    ecs_SetError(&(s->result), 1, "The VRF tiles are badly defined");
-    return;
-  }
-  if (tile_id == -2) {
-    ecs_SetError(&(s->result), 1, "The join table is empty");
-    return;
-  }
-	
-  _selectTileLine(s,l,tile_id);
 
-  if (!vrf_get_merged_line_feature(s,l,primCount,primList))
+  if (!vrf_get_merged_line_feature(s,l,primCount,primList,tileList, FALSE))
     return;
 
   /* Add the identifier to the object */
 
   ecs_SetObjectId(&(s->result),id);
 
-  if (vrf_get_lines_mbr(l,primCount,primList,&xmin,&ymin,&xmax,&ymax)) {
+  if (vrf_get_lines_mbr(s, l,primCount,primList,tileList,&xmin,&ymin,&xmax,&ymax)) {
     ECS_SETGEOMBOUNDINGBOX((&(s->result)),xmin,ymin,xmax,ymax);
   } else {
     free( primList );
+    free( tileList );
     ecs_SetError(&(s->result), 1, "VRF table mbr not open");
     return;
   }
 
   free( primList );
+  free( tileList );
 
   /* Add the attributes to the object */
 
@@ -1062,11 +1069,10 @@ _getObjectIdLine(s,l,coord)
      ecs_Coordinate *coord;
 {
   char buffer[256];
-  register ServerPrivateData *spriv = (ServerPrivateData *) s->priv;
   register LayerPrivateData *lpriv = (LayerPrivateData *) l->priv;
-  short tile_id;
   int feature_id;
   int32 line_id, primCount, *primList;
+  short* tileList;
   double xmin, xmax, ymin, ymax;
   int32 index, edgeCount;
   double distance,result;
@@ -1081,33 +1087,22 @@ _getObjectIdLine(s,l,coord)
 
   index = 0;
   while( index < edgeCount ) {
-    _getPrimList( s, l, index, &line_id, &tile_id, &primCount, &primList,
+    _getPrimList( s, l, index, &line_id, &primCount, &primList, &tileList,
                   &index);
     if (set_member(line_id,lpriv->feature_rows)) {
-      if (tile_id == -1) {
-	ecs_SetError(&(s->result), 1, "The VRF tiles are badly defined");
-	return;
-      }
-      if (tile_id == -2) {
-	ecs_SetError(&(s->result), 1, "The join table is empty");
-	return;
-      }    
 
-      if (!(lpriv->isTiled) || 
-	  ((coord->x > spriv->tile[tile_id-1].xmin) && 
-	   (coord->x < spriv->tile[tile_id-1].xmax) && 
-	   (coord->y > spriv->tile[tile_id-1].ymin) && 
-	   (coord->y < spriv->tile[tile_id-1].ymax))) {
-	
-	_selectTileLine(s,l,tile_id);
-	if (!vrf_get_lines_mbr(l,primCount,primList,&xmin,&ymin,&xmax,&ymax)) {
+	if (!vrf_get_lines_mbr(s,l,primCount,primList,tileList,&xmin,&ymin,&xmax,&ymax)) {
 	  ecs_SetError(&(s->result), 1, "VRF table mbr not open");
 	  return;
 	}
 	if ((coord->x>xmin) && (coord->x<xmax) && 
 	    (coord->y>ymin) && (coord->y<ymax)) {
-	  if (!vrf_get_merged_line_feature(s,l,primCount,primList))
+	  if (!vrf_get_merged_line_feature(s,l,primCount,primList,tileList, FALSE))
+          {
+            free(primList);
+            free(tileList);
 	    return;
+          }
 	  
 	  result = ecs_DistanceObjectWithTolerance((&(ECSOBJECT((&(s->result))))),
 				      coord->x, coord->y);
@@ -1116,14 +1111,17 @@ _getObjectIdLine(s,l,coord)
 	    feature_id = line_id;
 	  }
 	}
-      }
     }
   }
 
   if (feature_id < 0) {
     ecs_SetError(&(s->result),1,"Can't find any line at this location");
+    free(primList);
+    free(tileList);
     return;
   }
+  free(primList);
+  free(tileList);
 
   sprintf(buffer,"%d",feature_id);
   ecs_SetText(&(s->result),buffer);
@@ -1138,11 +1136,25 @@ _selectTileLine(s,l,tile_id)
      ecs_Layer *l;
      int tile_id;
 {
+    _selectTileLineWithRet(s,l,tile_id);
+}
+
+int
+_selectTileLineWithRet(s,l,tile_id)
+     ecs_Server *s;
+     ecs_Layer *l;
+     int tile_id;
+{
   register LayerPrivateData *lpriv = (LayerPrivateData *) l->priv;
   register ServerPrivateData *spriv = (ServerPrivateData *) s->priv;
   char buffer[256];
 
   if (lpriv->isTiled) {
+    if( tile_id < 1 || tile_id > spriv->nbTile )
+    {
+      return 0;
+    }
+
     if (lpriv->current_tileid != tile_id) {
       if (lpriv->current_tileid != -1) {
 	/* fermeture des tables ouvertes precedemment */
@@ -1211,6 +1223,7 @@ _selectTileLine(s,l,tile_id)
       lpriv->current_tileid = 1;			
     }	
   }
+  return 1;
 }
 
 /*
diff --git a/ogdi/driver/vrf/open.c b/ogdi/driver/vrf/open.c
index e13864e..c2bebeb 100644
--- a/ogdi/driver/vrf/open.c
+++ b/ogdi/driver/vrf/open.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: open.c,v $
- * Revision 1.6  2001/06/21 20:30:15  warmerda
+ * $Log$
+ * Revision 1.6  2001-06-21 20:30:15  warmerda
  * added ECS_CVSID
  *
  * Revision 1.5  2001/06/13 17:33:59  warmerda
@@ -28,7 +28,7 @@
 #include "ecs.h"
 #include "vrf.h"
 
-ECS_CVSID("$Id: open.c,v 1.6 2001/06/21 20:30:15 warmerda Exp $");
+ECS_CVSID("$Id$");
 
 /*
  *  --------------------------------------------------------------------------
diff --git a/ogdi/driver/vrf/swq.c b/ogdi/driver/vrf/swq.c
index a6769c5..9571088 100644
--- a/ogdi/driver/vrf/swq.c
+++ b/ogdi/driver/vrf/swq.c
@@ -17,8 +17,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: swq.c,v $
- * Revision 1.3  2001/06/26 00:57:34  warmerda
+ * $Log$
+ * Revision 1.3  2001-06-26 00:57:34  warmerda
  * fixed strcasecmp on WIN32
  *
  * Revision 1.2  2001/06/21 20:30:15  warmerda
@@ -36,7 +36,7 @@
 #include "swq.h"
 #include "ecs.h"
 
-ECS_CVSID("$Id: swq.c,v 1.3 2001/06/26 00:57:34 warmerda Exp $");
+ECS_CVSID("$Id$");
 
 #ifndef SWQ_MALLOC
 #define SWQ_MALLOC(x) malloc(x)
diff --git a/ogdi/driver/vrf/swq.h b/ogdi/driver/vrf/swq.h
index 5c29d9b..5c22d77 100644
--- a/ogdi/driver/vrf/swq.h
+++ b/ogdi/driver/vrf/swq.h
@@ -17,8 +17,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: swq.h,v $
- * Revision 1.1  2001/06/20 21:49:16  warmerda
+ * $Log$
+ * Revision 1.1  2001-06-20 21:49:16  warmerda
  * New
  *
  */
diff --git a/ogdi/driver/vrf/utils.c b/ogdi/driver/vrf/utils.c
index 4a0380d..f74990c 100644
--- a/ogdi/driver/vrf/utils.c
+++ b/ogdi/driver/vrf/utils.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: utils.c,v $
- * Revision 1.21  2016/07/07 15:50:15  erouault
+ * $Log$
+ * Revision 1.21  2016-07-07 15:50:15  erouault
  * fix stack buffer overflow in vrf_GetMetadata() when reading the level in CAT files. Found by GCC 5.2 -faddress=sanitize
  *
  * Revision 1.20  2016/07/04 17:03:12  erouault
@@ -113,7 +113,7 @@
 #include "vrf.h"
 #include "vpfprop.h"
 
-ECS_CVSID("$Id: utils.c,v 1.21 2016/07/07 15:50:15 erouault Exp $");
+ECS_CVSID("$Id$");
 
 #ifdef _WINDOWS
 #define SEPARATOR '\\'
diff --git a/ogdi/driver/vrf/vrf.c b/ogdi/driver/vrf/vrf.c
index 0b46044..76266ee 100644
--- a/ogdi/driver/vrf/vrf.c
+++ b/ogdi/driver/vrf/vrf.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: vrf.c,v $
- * Revision 1.21  2016/07/06 09:01:30  erouault
+ * $Log$
+ * Revision 1.21  2016-07-06 09:01:30  erouault
  * VRF: fix memory leaks in error code paths of dyn_SelectLayer()
  *
  * Revision 1.20  2007/05/09 21:29:50  cbalint
@@ -109,7 +109,7 @@
 #include "vrf.h"
 #include "datadict.h"
 
-ECS_CVSID("$Id: vrf.c,v 1.21 2016/07/06 09:01:30 erouault Exp $");
+ECS_CVSID("$Id$");
 
 /* layer oriented functions are keeped in data structure to simplify code */
 
diff --git a/ogdi/driver/vrf/vrf.def b/ogdi/driver/vrf/vrf.def
index 51d0923..3deb386 100644
--- a/ogdi/driver/vrf/vrf.def
+++ b/ogdi/driver/vrf/vrf.def
@@ -1,23 +1,23 @@
-LIBRARY   VRF
-
-CODE      PRELOAD MOVEABLE DISCARDABLE
-DATA      PRELOAD SINGLE
-
-EXPORTS
-	dyn_CreateServer
-	dyn_DestroyServer
-	dyn_SelectLayer
-	dyn_ReleaseLayer
-	dyn_SelectRegion
-	dyn_GetDictionary
-	dyn_GetAttributesFormat
-	dyn_GetNextObject
-	dyn_UpdateDictionary
-	dyn_GetServerProjection
-	dyn_GetGlobalBound
-	dyn_GetObject
-	dyn_GetObjectIdFromCoord
-	dyn_GetServerProjection
-	dyn_GetGlobalBound
-	dyn_SetServerLanguage
-
+LIBRARY   VRF
+
+CODE      PRELOAD MOVEABLE DISCARDABLE
+DATA      PRELOAD SINGLE
+
+EXPORTS
+	dyn_CreateServer
+	dyn_DestroyServer
+	dyn_SelectLayer
+	dyn_ReleaseLayer
+	dyn_SelectRegion
+	dyn_GetDictionary
+	dyn_GetAttributesFormat
+	dyn_GetNextObject
+	dyn_UpdateDictionary
+	dyn_GetServerProjection
+	dyn_GetGlobalBound
+	dyn_GetObject
+	dyn_GetObjectIdFromCoord
+	dyn_GetServerProjection
+	dyn_GetGlobalBound
+	dyn_SetServerLanguage
+
diff --git a/ogdi/driver/vrf/vrf.h b/ogdi/driver/vrf/vrf.h
index 7525789..4a6cf57 100644
--- a/ogdi/driver/vrf/vrf.h
+++ b/ogdi/driver/vrf/vrf.h
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: vrf.h,v $
- * Revision 1.10  2004/04/04 04:33:01  warmerda
+ * $Log$
+ * Revision 1.10  2004-04-04 04:33:01  warmerda
  * added vrf_free_ObjAttributeBuffer
  *
  * Revision 1.9  2004/02/18 21:33:18  warmerda
@@ -382,14 +382,15 @@ int vrf_build_capabilities( ecs_Server *s, const char *request );
 int  vrf_get_xy _ANSI_ARGS_((vpf_table_type table, row_type row,int32 pos, double *x,double *y));
 int  vrf_get_point_feature _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer, int prim_id));
 int  vrf_get_line_feature _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer,
-                                       int prim_id, ecs_Result *result ));
+                                       int prim_id, short tile_id, ecs_Result *result ));
 int  vrf_get_merged_line_feature _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer,
-                                              int primCount, int32 *primList));
+                                              int primCount, int32 *primList, short *tileList, int dryRun));
 int  vrf_get_text_feature _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer, int prim_id));
 int  vrf_get_area_feature _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer, int prim_id));
-int  vrf_get_line_mbr _ANSI_ARGS_((ecs_Layer *layer,int32 prim_id,double *xmin,double *ymin,double *xmax,double *ymax));
-int  vrf_get_lines_mbr _ANSI_ARGS_((ecs_Layer *layer,
+int  vrf_get_line_mbr _ANSI_ARGS_((ecs_Server* s, ecs_Layer *layer,int32 prim_id,short tile_id,double *xmin,double *ymin,double *xmax,double *ymax));
+int  vrf_get_lines_mbr _ANSI_ARGS_((ecs_Server* s, ecs_Layer *layer,
                                     int32 primCount, int32 *primList,
+                                    short* tileList,
                                     double *xmin,double *ymin,
                                     double *xmax,double *ymax));
 int  vrf_get_area_mbr _ANSI_ARGS_((ecs_Layer *layer,int32 prim_id,double *xmin,double *ymin,double *xmax,double *ymax));
@@ -431,8 +432,9 @@ void            _getTileAndPrimId _ANSI_ARGS_((ecs_Server *s,ecs_Layer *l,
 					       short *tile_id,int32 *prim_id));
 void            _getPrimList _ANSI_ARGS_((ecs_Server *s,ecs_Layer *l,
                                           int32 object_id,
-                                          int32 *feature_id, short *tile_id,
+                                          int32 *feature_id,
                                           int32 *primCount, int32 **primList,
+                                          short** tileList,
                                           int32 *next_object_id));
 
 void		_getNextObjectLine _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer));
@@ -450,6 +452,7 @@ void		_getObjectIdArea _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer, ecs_Coordina
 void		_getObjectIdPoint _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer, ecs_Coordinate *coord));
 void		_getObjectIdText _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer, ecs_Coordinate *coord));
 
+int		_selectTileLineWithRet _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer, int tile_id));
 void		_selectTileLine _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer, int tile_id));
 void		_selectTileArea _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer, int tile_id));
 void		_selectTilePoint _ANSI_ARGS_((ecs_Server *s,ecs_Layer *layer, int tile_id));
diff --git a/ogdi/driver/vrf/vrfswq.c b/ogdi/driver/vrf/vrfswq.c
index 743a9af..d053221 100644
--- a/ogdi/driver/vrf/vrfswq.c
+++ b/ogdi/driver/vrf/vrfswq.c
@@ -17,8 +17,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: vrfswq.c,v $
- * Revision 1.7  2007/05/09 20:46:28  cbalint
+ * $Log$
+ * Revision 1.7  2007-05-09 20:46:28  cbalint
  * From: Even Rouault <even.rouault at mines-paris.org>
  * Date: Friday 21:14:18
  *
@@ -89,7 +89,7 @@
 #include "vrf.h"
 #include "swq.h"
 
-ECS_CVSID("$Id: vrfswq.c,v 1.7 2007/05/09 20:46:28 cbalint Exp $");
+ECS_CVSID("$Id$");
 
 #ifndef __LINKLIST_H__
 #include "linklist.h"
diff --git a/ogdi/examples/example1/.cvsignore b/ogdi/examples/example1/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/examples/example1/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/examples/example2/.cvsignore b/ogdi/examples/example2/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/examples/example2/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/gltpd/.cvsignore b/ogdi/gltpd/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/gltpd/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/gltpd/asyncsvr.c b/ogdi/gltpd/asyncsvr.c
index dfdf21b..bdfd3e1 100644
--- a/ogdi/gltpd/asyncsvr.c
+++ b/ogdi/gltpd/asyncsvr.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: asyncsvr.c,v $
- * Revision 1.7  2016/06/28 14:32:45  erouault
+ * $Log$
+ * Revision 1.7  2016-06-28 14:32:45  erouault
  * Fix all warnings about unused variables raised by GCC 4.8
  *
  * Revision 1.6  2007/02/12 21:01:48  cbalint
@@ -52,7 +52,7 @@
 
 #include <ogdi_macro.h>
 
-ECS_CVSID("$Id: asyncsvr.c,v 1.7 2016/06/28 14:32:45 erouault Exp $");
+ECS_CVSID("$Id$");
 
 #ifdef _WINDOWS
 #  include "rpc/pmap_cln.h"
diff --git a/ogdi/gltpd/ecs_sif.c b/ogdi/gltpd/ecs_sif.c
index 456e0a2..d3a3c41 100644
--- a/ogdi/gltpd/ecs_sif.c
+++ b/ogdi/gltpd/ecs_sif.c
@@ -16,15 +16,15 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecs_sif.c,v $
- * Revision 1.3  2001/04/09 15:04:35  warmerda
+ * $Log$
+ * Revision 1.3  2001-04-09 15:04:35  warmerda
  * applied new source headers
  *
  */
 
 #include "ecs.h"
 
-ECS_CVSID("$Id: ecs_sif.c,v 1.3 2001/04/09 15:04:35 warmerda Exp $");
+ECS_CVSID("$Id$");
 
 ecs_Server *svr_handle;
 
diff --git a/ogdi/glutil/.cvsignore b/ogdi/glutil/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/glutil/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/glutil/getglenv.c b/ogdi/glutil/getglenv.c
index 707f0cb..b471ca3 100644
--- a/ogdi/glutil/getglenv.c
+++ b/ogdi/glutil/getglenv.c
@@ -1,4 +1,5 @@
 #ifdef _WINDOWS
+#undef _WINREG_
 #include <windows.h>
 #endif
 #include <stdlib.h>
diff --git a/ogdi/glutil/status_d.mak b/ogdi/glutil/status_d.mak
index c77c3ef..e68eb10 100644
--- a/ogdi/glutil/status_d.mak
+++ b/ogdi/glutil/status_d.mak
@@ -1,186 +1,186 @@
-# Microsoft Visual C++ Generated NMAKE File, Format Version 2.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Application" 0x0101
-
-!IF "$(CFG)" == ""
-CFG=Win32 Debug
-!MESSAGE No configuration specified.  Defaulting to Win32 Debug.
-!ENDIF 
-
-!IF "$(CFG)" != "Win32 Release" && "$(CFG)" != "Win32 Debug"
-!MESSAGE Invalid configuration "$(CFG)" specified.
-!MESSAGE You can specify a configuration when running NMAKE on this makefile
-!MESSAGE by defining the macro CFG on the command line.  For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "status_d.mak" CFG="Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "Win32 Release" (based on "Win32 (x86) Application")
-!MESSAGE "Win32 Debug" (based on "Win32 (x86) Application")
-!MESSAGE 
-!ERROR An invalid configuration is specified.
-!ENDIF 
-
-################################################################################
-# Begin Project
-MTL=MkTypLib.exe
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "WinRel"
-# PROP BASE Intermediate_Dir "WinRel"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "WinRel"
-# PROP Intermediate_Dir "WinRel"
-OUTDIR=.\WinRel
-INTDIR=.\WinRel
-
-ALL : $(OUTDIR)/status_d.exe $(OUTDIR)/status_d.bsc
-
-$(OUTDIR) : 
-    if not exist $(OUTDIR)/nul mkdir $(OUTDIR)
-
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /win32
-MTL_PROJ=/nologo /D "NDEBUG" /win32 
-# ADD BASE CPP /nologo /ML /W3 /GX /YX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR /c
-# ADD CPP /nologo /ML /W3 /GX /YX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR /c
-CPP_PROJ=/nologo /ML /W3 /GX /YX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
- /FR$(INTDIR)/ /Fp$(OUTDIR)/"status_d.pch" /Fo$(INTDIR)/ /c 
-CPP_OBJS=.\WinRel/
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-RSC_PROJ=/l 0x409 /fo$(INTDIR)/"status_d.res" /d "NDEBUG" 
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o$(OUTDIR)/"status_d.bsc" 
-BSC32_SBRS= \
-	$(INTDIR)/status_d.sbr
-
-$(OUTDIR)/status_d.bsc : $(OUTDIR)  $(BSC32_SBRS)
-    $(BSC32) @<<
-  $(BSC32_FLAGS) $(BSC32_SBRS)
-<<
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO /SUBSYSTEM:windows /MACHINE:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO /SUBSYSTEM:windows /MACHINE:I386
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO\
- /SUBSYSTEM:windows /INCREMENTAL:no /PDB:$(OUTDIR)/"status_d.pdb" /MACHINE:I386\
- /OUT:$(OUTDIR)/"status_d.exe" 
-DEF_FILE=
-LINK32_OBJS= \
-	$(INTDIR)/status_d.obj \
-	$(INTDIR)/status_d.res
-
-$(OUTDIR)/status_d.exe : $(OUTDIR)  $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "WinDebug"
-# PROP BASE Intermediate_Dir "WinDebug"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "WinDebug"
-# PROP Intermediate_Dir "WinDebug"
-OUTDIR=.\WinDebug
-INTDIR=.\WinDebug
-
-ALL : $(OUTDIR)/status_d.exe $(OUTDIR)/status_d.bsc
-
-$(OUTDIR) : 
-    if not exist $(OUTDIR)/nul mkdir $(OUTDIR)
-
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /win32
-MTL_PROJ=/nologo /D "_DEBUG" /win32 
-# ADD BASE CPP /nologo /ML /W3 /GX /Zi /YX /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /c
-# ADD CPP /nologo /ML /W3 /GX /Zi /YX /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /c
-CPP_PROJ=/nologo /ML /W3 /GX /Zi /YX /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS"\
- /FR$(INTDIR)/ /Fp$(OUTDIR)/"status_d.pch" /Fo$(INTDIR)/\
- /Fd$(OUTDIR)/"status_d.pdb" /c 
-CPP_OBJS=.\WinDebug/
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-RSC_PROJ=/l 0x409 /fo$(INTDIR)/"status_d.res" /d "_DEBUG" 
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o$(OUTDIR)/"status_d.bsc" 
-BSC32_SBRS= \
-	$(INTDIR)/status_d.sbr
-
-$(OUTDIR)/status_d.bsc : $(OUTDIR)  $(BSC32_SBRS)
-    $(BSC32) @<<
-  $(BSC32_FLAGS) $(BSC32_SBRS)
-<<
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO /SUBSYSTEM:windows /DEBUG /MACHINE:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO /SUBSYSTEM:windows /DEBUG /MACHINE:I386
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO\
- /SUBSYSTEM:windows /INCREMENTAL:yes /PDB:$(OUTDIR)/"status_d.pdb" /DEBUG\
- /MACHINE:I386 /OUT:$(OUTDIR)/"status_d.exe" 
-DEF_FILE=
-LINK32_OBJS= \
-	$(INTDIR)/status_d.obj \
-	$(INTDIR)/status_d.res
-
-$(OUTDIR)/status_d.exe : $(OUTDIR)  $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ENDIF 
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-################################################################################
-# Begin Group "Source Files"
-
-################################################################################
-# Begin Source File
-
-SOURCE=.\status_d.c
-DEP_STATU=\
-	.\status_d.h
-
-$(INTDIR)/status_d.obj :  $(SOURCE)  $(DEP_STATU) $(INTDIR)
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\status_d.rc
-DEP_STATUS=\
-	.\status_d.h
-
-$(INTDIR)/status_d.res :  $(SOURCE)  $(DEP_STATUS) $(INTDIR)
-   $(RSC) $(RSC_PROJ)  $(SOURCE) 
-
-# End Source File
-# End Group
-# End Project
-################################################################################
+# Microsoft Visual C++ Generated NMAKE File, Format Version 2.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+!IF "$(CFG)" == ""
+CFG=Win32 Debug
+!MESSAGE No configuration specified.  Defaulting to Win32 Debug.
+!ENDIF 
+
+!IF "$(CFG)" != "Win32 Release" && "$(CFG)" != "Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE on this makefile
+!MESSAGE by defining the macro CFG on the command line.  For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "status_d.mak" CFG="Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE 
+!ERROR An invalid configuration is specified.
+!ENDIF 
+
+################################################################################
+# Begin Project
+MTL=MkTypLib.exe
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "WinRel"
+# PROP BASE Intermediate_Dir "WinRel"
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "WinRel"
+# PROP Intermediate_Dir "WinRel"
+OUTDIR=.\WinRel
+INTDIR=.\WinRel
+
+ALL : $(OUTDIR)/status_d.exe $(OUTDIR)/status_d.bsc
+
+$(OUTDIR) : 
+    if not exist $(OUTDIR)/nul mkdir $(OUTDIR)
+
+# ADD BASE MTL /nologo /D "NDEBUG" /win32
+# ADD MTL /nologo /D "NDEBUG" /win32
+MTL_PROJ=/nologo /D "NDEBUG" /win32 
+# ADD BASE CPP /nologo /ML /W3 /GX /YX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR /c
+# ADD CPP /nologo /ML /W3 /GX /YX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR /c
+CPP_PROJ=/nologo /ML /W3 /GX /YX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
+ /FR$(INTDIR)/ /Fp$(OUTDIR)/"status_d.pch" /Fo$(INTDIR)/ /c 
+CPP_OBJS=.\WinRel/
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+RSC_PROJ=/l 0x409 /fo$(INTDIR)/"status_d.res" /d "NDEBUG" 
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o$(OUTDIR)/"status_d.bsc" 
+BSC32_SBRS= \
+	$(INTDIR)/status_d.sbr
+
+$(OUTDIR)/status_d.bsc : $(OUTDIR)  $(BSC32_SBRS)
+    $(BSC32) @<<
+  $(BSC32_FLAGS) $(BSC32_SBRS)
+<<
+
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO /SUBSYSTEM:windows /MACHINE:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO /SUBSYSTEM:windows /MACHINE:I386
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO\
+ /SUBSYSTEM:windows /INCREMENTAL:no /PDB:$(OUTDIR)/"status_d.pdb" /MACHINE:I386\
+ /OUT:$(OUTDIR)/"status_d.exe" 
+DEF_FILE=
+LINK32_OBJS= \
+	$(INTDIR)/status_d.obj \
+	$(INTDIR)/status_d.res
+
+$(OUTDIR)/status_d.exe : $(OUTDIR)  $(DEF_FILE) $(LINK32_OBJS)
+    $(LINK32) @<<
+  $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF  "$(CFG)" == "Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "WinDebug"
+# PROP BASE Intermediate_Dir "WinDebug"
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "WinDebug"
+# PROP Intermediate_Dir "WinDebug"
+OUTDIR=.\WinDebug
+INTDIR=.\WinDebug
+
+ALL : $(OUTDIR)/status_d.exe $(OUTDIR)/status_d.bsc
+
+$(OUTDIR) : 
+    if not exist $(OUTDIR)/nul mkdir $(OUTDIR)
+
+# ADD BASE MTL /nologo /D "_DEBUG" /win32
+# ADD MTL /nologo /D "_DEBUG" /win32
+MTL_PROJ=/nologo /D "_DEBUG" /win32 
+# ADD BASE CPP /nologo /ML /W3 /GX /Zi /YX /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /c
+# ADD CPP /nologo /ML /W3 /GX /Zi /YX /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /c
+CPP_PROJ=/nologo /ML /W3 /GX /Zi /YX /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS"\
+ /FR$(INTDIR)/ /Fp$(OUTDIR)/"status_d.pch" /Fo$(INTDIR)/\
+ /Fd$(OUTDIR)/"status_d.pdb" /c 
+CPP_OBJS=.\WinDebug/
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+RSC_PROJ=/l 0x409 /fo$(INTDIR)/"status_d.res" /d "_DEBUG" 
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o$(OUTDIR)/"status_d.bsc" 
+BSC32_SBRS= \
+	$(INTDIR)/status_d.sbr
+
+$(OUTDIR)/status_d.bsc : $(OUTDIR)  $(BSC32_SBRS)
+    $(BSC32) @<<
+  $(BSC32_FLAGS) $(BSC32_SBRS)
+<<
+
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO /SUBSYSTEM:windows /DEBUG /MACHINE:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO /SUBSYSTEM:windows /DEBUG /MACHINE:I386
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO\
+ /SUBSYSTEM:windows /INCREMENTAL:yes /PDB:$(OUTDIR)/"status_d.pdb" /DEBUG\
+ /MACHINE:I386 /OUT:$(OUTDIR)/"status_d.exe" 
+DEF_FILE=
+LINK32_OBJS= \
+	$(INTDIR)/status_d.obj \
+	$(INTDIR)/status_d.res
+
+$(OUTDIR)/status_d.exe : $(OUTDIR)  $(DEF_FILE) $(LINK32_OBJS)
+    $(LINK32) @<<
+  $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF 
+
+.c{$(CPP_OBJS)}.obj:
+   $(CPP) $(CPP_PROJ) $<  
+
+.cpp{$(CPP_OBJS)}.obj:
+   $(CPP) $(CPP_PROJ) $<  
+
+.cxx{$(CPP_OBJS)}.obj:
+   $(CPP) $(CPP_PROJ) $<  
+
+################################################################################
+# Begin Group "Source Files"
+
+################################################################################
+# Begin Source File
+
+SOURCE=.\status_d.c
+DEP_STATU=\
+	.\status_d.h
+
+$(INTDIR)/status_d.obj :  $(SOURCE)  $(DEP_STATU) $(INTDIR)
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\status_d.rc
+DEP_STATUS=\
+	.\status_d.h
+
+$(INTDIR)/status_d.res :  $(SOURCE)  $(DEP_STATUS) $(INTDIR)
+   $(RSC) $(RSC_PROJ)  $(SOURCE) 
+
+# End Source File
+# End Group
+# End Project
+################################################################################
diff --git a/ogdi/glutil/status_d.rc b/ogdi/glutil/status_d.rc
index 978a0b4..46e1e0a 100644
--- a/ogdi/glutil/status_d.rc
+++ b/ogdi/glutil/status_d.rc
@@ -1,22 +1,22 @@
-/****************************************************************************
-
-
-status_d.rc
-
-produced by Francois Levert from LAS inc.
-****************************************************************************/
-#define WIN32_LEAN_AND_MEAN
-
-#include <windows.h>
-#include "status_d.h"
-
-STATUS_D DIALOG 6, 15, 243, 119
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Status Update"
-FONT 8, "MS Sans Serif"
-{
- PUSHBUTTON "Cancel", ID_CANCEL, 96, 96, 50, 14
- LTEXT "Text", ID_TEXT1, 8, 11, 225, 16
- LTEXT "Text", ID_TEXT2, 8, 34, 226, 16
-}
-
+/****************************************************************************
+
+
+status_d.rc
+
+produced by Francois Levert from LAS inc.
+****************************************************************************/
+#define WIN32_LEAN_AND_MEAN
+
+#include <windows.h>
+#include "status_d.h"
+
+STATUS_D DIALOG 6, 15, 243, 119
+STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION "Status Update"
+FONT 8, "MS Sans Serif"
+{
+ PUSHBUTTON "Cancel", ID_CANCEL, 96, 96, 50, 14
+ LTEXT "Text", ID_TEXT1, 8, 11, 225, 16
+ LTEXT "Text", ID_TEXT2, 8, 34, 226, 16
+}
+
diff --git a/ogdi/include/ecs_util.h b/ogdi/include/ecs_util.h
index f07f5c6..4832199 100644
--- a/ogdi/include/ecs_util.h
+++ b/ogdi/include/ecs_util.h
@@ -18,8 +18,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecs_util.h,v $
- * Revision 1.30  2016/07/11 09:13:29  erouault
+ * $Log$
+ * Revision 1.30  2016-07-11 09:13:29  erouault
  * Really fix Windows compilation issue due to int32/uint32
  *
  * Revision 1.29  2016/07/08 10:22:55  erouault
@@ -108,8 +108,8 @@
 #ifndef ECS_UTIL
 #define ECS_UTIL 1
 
-#define OGDI_VERSION     320
-#define OGDI_RELEASEDATE 20160705
+#define OGDI_VERSION     321
+#define OGDI_RELEASEDATE 20180301
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/ogdi/tcl_interface/.cvsignore b/ogdi/tcl_interface/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/ogdi/tcl_interface/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/ogdi/tcl_interface/ecs_tcl.c b/ogdi/tcl_interface/ecs_tcl.c
index 2655b6e..bd3bbe5 100644
--- a/ogdi/tcl_interface/ecs_tcl.c
+++ b/ogdi/tcl_interface/ecs_tcl.c
@@ -16,8 +16,8 @@
  * It is provided "as is" without express or implied warranty.
  ******************************************************************************
  *
- * $Log: ecs_tcl.c,v $
- * Revision 1.6  2007/02/12 16:04:21  cbalint
+ * $Log$
+ * Revision 1.6  2007-02-12 16:04:21  cbalint
  *    More warrning fixes in tcl and odbc plugins.
  *
  * Revision 1.5  2001/04/09 15:04:35  warmerda
diff --git a/vpflib/.cvsignore b/vpflib/.cvsignore
new file mode 100644
index 0000000..ca0f5e5
--- /dev/null
+++ b/vpflib/.cvsignore
@@ -0,0 +1 @@
+OBJ.*
diff --git a/vpflib/strfunc.h b/vpflib/strfunc.h
index 636e268..d70fa6e 100644
--- a/vpflib/strfunc.h
+++ b/vpflib/strfunc.h
@@ -36,6 +36,13 @@
    char *justify (char *str);
    int Mstrcmpi (const char *string1, const char *string2);
    int Mstrncmpi (const char *string1, const char *string2, size_t size);
+#elif _MSC_VER
+#include <stdint.h>
+   char *leftjust( char *str);
+   char *rightjust( char *str);
+   char *justify (char *str);
+   int Mstrcmpi (const char *string1, const char *string2);
+   int Mstrncmpi (const char *string1, const char *string2, size_t size);
 #else
 
    char *strupr ();
diff --git a/vpflib/vpfread.c b/vpflib/vpfread.c
index 9c19e6f..93f9e14 100644
--- a/vpflib/vpfread.c
+++ b/vpflib/vpfread.c
@@ -1186,7 +1186,7 @@ vpf_table_type table;
 
    if (table.fp != NULL) {
      fpos = index_pos(row_number,table);
-     if ( fpos != (long)NULL) {
+     if ( fpos != 0 ) {
        fseek(table.fp,fpos,SEEK_SET);
        return read_next_row(table);
      } else {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/ogdi-dfsg.git



More information about the Pkg-grass-devel mailing list