From 4763de2e0e07e3005becb7d0d38d67b75219cb36 Mon Sep 17 00:00:00 2001 From: Alexandre Barreto Date: Tue, 31 Jan 2023 13:21:51 -0500 Subject: [PATCH] r.horizon manual - fix typo (#2794) --- INSTALL.md | 24 + Makefile | 7 + README.md | 23 + REQUIREMENTS.md | 22 + aclocal.m4 | 17 + configure | 120 + configure.ac | 70 + db/drivers/dbf/cursor.c | 7 + db/drivers/dbf/table.c | 7 + db/drivers/mysql/cursor.c | 7 + db/drivers/mysql/grass-mysql.html | 28 + db/drivers/odbc/cursor.c | 7 + db/drivers/odbc/proto.h | 7 + db/drivers/ogr/cursor.c | 7 + db/drivers/ogr/db.c | 7 + db/drivers/ogr/driver.c | 7 + db/drivers/sqlite/cursor.c | 7 + display/d.geodesic/d.geodesic.html | 4 + display/d.grid/d.grid.html | 7 + display/d.histogram/bar.h | 7 + display/d.histogram/pie.h | 7 + display/d.labels/d.labels.html | 4 + display/d.legend/draw.c | 7 + display/d.mon/start.c | 54 + display/d.rhumbline/d.rhumbline.html | 4 + display/d.text/d.text.html | 9 + display/d.title/d.title.html | 22 + display/d.vect/d.vect.html | 3 + doc/development/rfc/PSC_guidelines.md | 28 + doc/development/rfc/PSC_voting_procedures.md | 35 + .../rfc/language_standards_support.md | 70 + .../legal_aspects_of_code_contributions.md | 16 + doc/development/rfc/migration_github.md | 150 ++ doc/development/submitting/docs.md | 4 + doc/development/submitting/general.md | 10 + doc/development/submitting/python.md | 15 + doc/development/submitting/submitting.md | 3 + doc/development/submitting/submitting_c.md | 28 + doc/howto_release.md | 141 ++ doc/infrastructure.md | 174 ++ doc/notebooks/README.md | 15 + doc/projectionintro.html | 9 + docker/README.md | 32 + docker/alpine/Dockerfile | 15 + docker/debian/Dockerfile | 91 + docker/ubuntu/Dockerfile | 71 + docker/ubuntu_wxgui/Dockerfile | 56 + general/g.findfile/local_proto.h | 7 + general/g.gisenv/g.gisenv.html | 6 + general/g.mkfontcap/g.mkfontcap.html | 7 + general/g.proj/g.proj.html | 28 + general/g.region/printwindow.c | 7 + general/g.setproj/g.setproj.html | 15 + grasslib.dox | 3 + gui/wxpython/docs/wxGUI.nviz.html | 6 + gui/wxpython/gui_core/goutput.py | 13 + gui/wxpython/gui_core/prompt.py | 7 + .../image2target/g.gui.image2target.html | 6 + gui/wxpython/psmap/g.gui.psmap.html | 8 + gui/wxpython/rlisetup/g.gui.rlisetup.html | 14 + gui/wxpython/vdigit/g.gui.vdigit.html | 21 + imagery/i.albedo/i.albedo.html | 7 + imagery/i.atcorr/create_iwave.py | 3 + imagery/i.atcorr/i.atcorr.html | 12 + imagery/i.biomass/i.biomass.html | 10 + imagery/i.cca/i.cca.html | 7 + imagery/i.eb.netrad/i.eb.netrad.html | 10 + .../i.eb.soilheatflux/i.eb.soilheatflux.html | 23 + imagery/i.evapo.mh/i.evapo.mh.html | 7 + imagery/i.evapo.pm/i.evapo.pm.html | 17 + imagery/i.gensig/eigen.c | 7 + imagery/i.gensig/i.gensig.html | 16 + imagery/i.ifft/i.ifft.html | 34 + imagery/i.landsat.toar/i.landsat.toar.html | 14 + imagery/i.modis.qc/i.modis.qc.html | 17 + .../i.ortho.camera/i.ortho.camera.html | 9 + .../i.ortho.photo/i.ortho.photo.html | 25 + .../i.ortho.rectify/i.ortho.rectify.html | 3 + .../i.ortho.transform/i.ortho.transform.html | 10 + imagery/i.ortho.photo/lib/georef.c | 7 + imagery/i.ortho.photo/lib/init_info.c | 9 + imagery/i.ortho.photo/lib/orthophoto.h | 9 + imagery/i.rgb.his/i.rgb.his.html | 7 + imagery/i.segment/i.segment.html | 33 + imagery/i.segment/iseg.h | 14 + imagery/i.vi/i.vi.html | 24 + imagery/i.zc/main.c | 13 + imagery/imageryintro.html | 14 + include/grass/defs/cluster.h | 9 + include/grass/defs/gis.h | 21 + include/grass/iostream/ami_sort_impl.h | 12 + include/grass/iostream/ami_stream.h | 8 + include/grass/iostream/embuffer.h | 44 + include/grass/iostream/empq_impl.h | 45 + include/grass/iostream/imbuffer.h | 8 + include/grass/iostream/mem_stream.h | 7 + include/grass/iostream/minmaxheap.h | 9 + include/grass/ogsf.h | 42 + include/grass/raster3d.h | 18 + include/grass/segment.h | 16 + include/grass/temporal.h | 14 + lib/btree/update.c | 7 + lib/cairodriver/cairodriver.html | 7 + lib/cairodriver/read_bmp.c | 32 + lib/calc/xrand.c | 7 + lib/cluster/c_exec.c | 7 + lib/datetime/change.c | 7 + lib/datetime/local.c | 8 + lib/db/dbmi_base/dirent.c | 62 + lib/db/dbmi_base/table.c | 16 + lib/db/dbmi_base/whoami.c | 7 + lib/db/dbmi_driver/d_error.c | 7 + lib/db/dbmi_driver/procs.h | 7 + lib/db/sqlp/sql.html | 4 + lib/driver/font2.c | 9 + lib/dspf/dspf_header.c | 8 + lib/external/ccmath/unfl.c | 7 + lib/external/shapelib/dbfopen.c | 1605 ++++++++++++- lib/external/shapelib/safileio.c | 86 + lib/external/shapelib/shapefil.h | 147 ++ lib/external/shapelib/shpopen.c | 1987 ++++++++++++++++- lib/gis/asprintf.c | 7 + lib/gis/cmprbzip.c | 7 + lib/gis/cmprzlib.c | 21 + lib/gis/copy_dir.c | 7 + lib/gis/get_window.c | 7 + lib/gis/ilist.c | 7 + lib/gis/list.c | 21 + lib/gis/ls.c | 7 + lib/gis/parser.c | 7 + lib/gis/parser_dependencies.c | 9 + lib/gis/parser_interface.c | 9 + lib/gis/parser_wps.c | 16 + lib/gis/proj3.c | 7 + lib/gis/snprintf.c | 7 + lib/gis/spawn.c | 7 + lib/gis/user_config.c | 7 + lib/gmath/blas_level_1.c | 10 + lib/gmath/brent.c | 15 + lib/gmath/la.c | 7 + lib/gmath/solvers_classic_iter.c | 34 + lib/gmath/solvers_krylov.c | 14 + lib/gmath/sparse_matrix.c | 14 + lib/gpde/N_pde.h | 17 + lib/gpde/gpdelib.dox | 3 + lib/gpde/n_les.c | 9 + lib/gpde/n_les_assemble.c | 36 + lib/htmldriver/README | 4 + lib/imagery/iscatt_core.c | 7 + lib/imagery/sig.c | 21 + lib/imagery/sigset.c | 24 + lib/init/grass.html | 8 + lib/init/variables.html | 21 + lib/iostream/ami_stream.cpp | 7 + lib/iostream/rtimer.cpp | 23 + lib/lidar/zones.c | 13 + lib/manage/do_list.c | 10 + lib/manage/sighold.c | 7 + lib/ogsf/TODO | 4 + lib/ogsf/gs2.c | 7 + lib/ogsf/gsd_fringe.c | 6 + lib/ogsf/gsd_surf.c | 23 + lib/ogsf/gsd_wire.c | 7 + lib/ogsf/gsx.c | 7 + lib/pngdriver/draw_bitmap.c | 7 + lib/pngdriver/read_bmp.c | 24 + lib/proj/datum.c | 7 + lib/proj/ellipse.c | 6 + lib/proj/get_proj.c | 8 + lib/psdriver/draw_bitmap.c | 7 + lib/raster/format.c | 17 + lib/raster/get_row.c | 156 ++ lib/raster/open.c | 7 + lib/raster/put_row.c | 25 + lib/raster/quant.c | 7 + lib/raster/range.c | 7 + lib/raster3d/cache.c | 33 + lib/raster3d/cache1.c | 27 + lib/raster3d/cachehash.h | 7 + lib/raster3d/doubleio.c | 30 + lib/raster3d/fpcompress.c | 28 + lib/raster3d/fpxdr.c | 28 + lib/raster3d/index.c | 14 + lib/raster3d/intio.c | 28 + lib/raster3d/long.c | 14 + lib/raster3d/open.c | 7 + lib/raster3d/resample.c | 24 + lib/raster3d/tilemath.c | 7 + lib/raster3d/tileread.c | 8 + lib/rst/interp_float/output2d.c | 42 + lib/rst/interp_float/resout2d.c | 42 + lib/rst/qtree/qtree.h | 14 + lib/segment/format.c | 7 + lib/segment/segmentlib.dox | 3 + lib/temporal/SQL/raster_views.sql | 14 + ..._stds_spatial_temporal_extent_template.sql | 9 + .../SQL/update_str3ds_metadata_template.sql | 3 + .../SQL/update_strds_metadata_template.sql | 10 + .../SQL/update_stvds_metadata_template.sql | 3 + lib/temporal/lib/map_list.c | 7 + lib/vector/Vlib/box.c | 21 + lib/vector/Vlib/break_polygons.c | 75 + lib/vector/Vlib/build.c | 56 + lib/vector/Vlib/close.c | 32 + lib/vector/Vlib/open.c | 62 + lib/vector/Vlib/rewind.c | 15 + lib/vector/Vlib/snap.c | 86 + lib/vector/Vlib/write.c | 109 + lib/vector/Vlib/write_pg.c | 14 + lib/vector/dglib/tree.h | 7 + lib/vector/diglib/plus_struct.c | 7 + lib/vector/diglib/portable.c | 80 + lib/vector/diglib/spindex_rw.c | 26 + lib/vector/diglib/struct_alloc.c | 28 + lib/vector/rtree/docs/README.grass | 3 + lib/vector/vedit/render.c | 7 + lib/vector/vedit/vertex.c | 14 + ps/ps.map/do_geogrid.c | 14 + ps/ps.map/do_grid.c | 9 + ps/ps.map/ps.map.html | 7 + ps/ps.map/r_text.c | 8 + ps/ps.map/scan_gis.c | 7 + .../temporal/abstract_space_time_dataset.py | 75 + python/libgrass_interface_generator/Makefile | 7 + python/libgrass_interface_generator/README.md | 30 + raster/r.basins.fill/r.basins.fill.html | 7 + raster/r.carve/r.carve.html | 7 + raster/r.clump/minsize.c | 6 + raster/r.coin/format.c | 7 + raster/r.compress/r.compress.html | 6 + raster/r.contour/r.contour.html | 4 + raster/r.cost/r.cost.html | 4 + raster/r.cross/r.cross.html | 6 + .../testsuite/data/generate_data.sh | 6 + raster/r.fill.dir/tinf.c | 10 + raster/r.fill.dir/tinf.h | 10 + raster/r.fill.stats/main.c | 7 + raster/r.fill.stats/r.fill.stats.html | 6 + raster/r.flow/aspect.h | 7 + raster/r.flow/mem.h | 7 + raster/r.geomorphon/geom.c | 7 + raster/r.grow.distance/r.grow.distance.html | 4 + raster/r.gwflow/r.gwflow.html | 3 + raster/r.horizon/main.c | 36 + raster/r.horizon/r.horizon.html | 27 + raster/r.in.ascii/gethead.c | 21 + raster/r.in.ascii/main.c | 7 + raster/r.in.bin/main.c | 14 + raster/r.in.gdal/r.in.gdal.html | 21 + raster/r.in.lidar/r.in.lidar.html | 4 + raster/r.in.mat/main.c | 46 + raster/r.in.mat/r.in.mat.html | 3 + raster/r.in.pdal/Makefile | 8 + raster/r.in.pdal/info.cpp | 13 + raster/r.in.pdal/main.cpp | 27 + raster/r.in.pdal/r.in.pdal.html | 7 + raster/r.in.png/main.c | 16 + raster/r.in.poly/raster.c | 7 + raster/r.in.xyz/main.c | 9 + raster/r.info/r.info.html | 4 + raster/r.li/TODO | 3 + raster/r.li/r.li.cwed/utility.c | 9 + raster/r.li/r.li.daemon/daemon.c | 7 + raster/r.li/r.li.html | 7 + raster/r.li/r.li.padrange/padrange.c | 93 + raster/r.li/r.li.patchnum/main.c | 66 + raster/r.li/r.li.shape/r.li.shape.html | 7 + raster/r.mapcalc/map.c | 7 + raster/r.mapcalc/r3.mapcalc.html | 21 + raster/r.mfilter/Makefile | 10 + raster/r.mfilter/execute.c | 8 + raster/r.mfilter/testsuite/test_r_mfilter.py | 10 + raster/r.neighbors/Makefile | 10 + .../r.object.geometry/r.object.geometry.html | 37 + raster/r.out.bin/main.c | 7 + raster/r.out.gdal/main.c | 10 + raster/r.out.vtk/r.out.vtk.html | 11 + raster/r.param.scale/disp_matrix.c | 12 + raster/r.patch/Makefile | 10 + raster/r.path/main.c | 63 + raster/r.path/r.path.html | 7 + raster/r.profile/r.profile.html | 3 + raster/r.proj/r.proj.html | 13 + raster/r.quant/read_rules.c | 7 + raster/r.quantile/r.quantile.html | 10 + raster/r.recode/read_rules.c | 7 + raster/r.recode/recode.c | 7 + .../r.regression.line/r.regression.line.html | 9 + raster/r.regression.multi/main.c | 7 + raster/r.report/format.c | 7 + raster/r.resamp.bspline/resamp.c | 6 + raster/r.resamp.filter/Makefile | 6 + raster/r.resamp.filter/main.c | 144 ++ raster/r.resamp.filter/r.resamp.filter.html | 8 + raster/r.resamp.interp/Makefile | 10 + raster/r.resamp.rst/main.c | 8 + raster/r.series.accumulate/main.c | 10 + raster/r.series/Makefile | 10 + raster/r.series/main.c | 29 + .../r.sim/r.sim.sediment/r.sim.sediment.html | 10 + raster/r.sim/simlib/hydro.c | 21 + raster/r.slope.aspect/Makefile | 10 + raster/r.slope.aspect/r.slope.aspect.html | 7 + raster/r.solute.transport/main.c | 7 + .../r.solute.transport.html | 6 + raster/r.stats.quantile/r.stats.quantile.html | 10 + raster/r.sun/TODO | 3 + raster/r.sun/local_proto.h | 14 + raster/r.sun/r.sun.html | 7 + raster/r.support/main.c | 20 + raster/r.support/r.support.html | 15 + raster/r.surf.idw/r.surf.idw.html | 7 + raster/r.terraflow/ccforest.h | 20 + raster/r.terraflow/common.cpp | 18 + raster/r.terraflow/fill.cpp | 63 + raster/r.terraflow/genericWindow.h | 21 + raster/r.terraflow/main.cpp | 28 + raster/r.terraflow/nodata.h | 7 + raster/r.terraflow/plateau.h | 7 + raster/r.terraflow/stats.cpp | 57 + raster/r.terraflow/sweep.cpp | 15 + raster/r.terraflow/sweep.h | 137 ++ raster/r.terraflow/types.h | 10 + raster/r.terraflow/water.cpp | 14 + raster/r.texture/r.texture.html | 20 + raster/r.to.rast3/main.c | 7 + .../r.to.rast3/test_suite/test.r.to.rast3.sh | 3 + raster/r.to.rast3elev/main.c | 7 + raster/r.to.rast3elev/r.to.rast3elev.html | 9 + raster/r.topidx/topidx.c | 7 + raster/r.univar/Makefile | 12 + raster/r.univar/r.univar.html | 7 + raster/r.univar/r.univar_main.c | 5 + raster/r.univar/r3.univar_main.c | 19 + raster/r.univar/stats.c | 36 + raster/r.uslek/prct2tex.c | 31 + raster/r.uslek/r.uslek.html | 6 + raster/r.viewshed/grass.cpp | 65 + raster/r.viewshed/main.cpp | 8 + raster/r.watershed/front/main.c | 9 + raster/r.watershed/shed/com_line.c | 38 + raster/r.watershed/shed/print.c | 31 + raster/rasterintro.html | 6 + raster3d/r3.cross.rast/main.c | 7 + raster3d/r3.in.ascii/r3.in.ascii.html | 7 + raster3d/r3.in.v5d/main.c | 7 + raster3d/r3.info/r3.info.html | 7 + raster3d/r3.mask/r3.mask.html | 7 + raster3d/r3.mkdspf/r3.mkdspf.html | 9 + raster3d/r3.null/r3.null.html | 7 + raster3d/r3.out.ascii/r3.out.ascii.html | 7 + raster3d/r3.out.netcdf/main.c | 21 + raster3d/r3.retile/main.c | 7 + raster3d/r3.support/main.c | 20 + raster3d/r3.to.rast/main.c | 7 + raster3d/r3.to.rast/r3.to.rast.html | 7 + renovate.json | 7 + rpm/grass-pkgconfig.patch | 13 + scripts/d.frame/d.frame.html | 7 + scripts/d.out.file/d.out.file.html | 7 + scripts/d.redraw/d.redraw.html | 7 + scripts/d.to.rast/d.to.rast.html | 7 + scripts/d.what.rast/d.what.rast.html | 7 + scripts/d.what.vect/d.what.vect.html | 7 + scripts/g.extension/g.extension.html | 7 + scripts/i.band.library/landsat.json | 7 + scripts/i.band.library/sentinel.json | 130 ++ scripts/i.spectral/README | 4 + scripts/m.proj/m.proj.html | 3 + scripts/r.in.aster/r.in.aster.html | 16 + scripts/r.in.wms/r.in.wms.html | 4 + scripts/r.mask/r.mask.html | 101 + .../v.db.reconnect.all.html | 14 + scripts/v.import/v.import.html | 6 + scripts/v.what.vect/v.what.vect.html | 3 + temporal/t.copy/t.copy.html | 6 + .../t.rast.accumulate/t.rast.accumulate.html | 7 + temporal/t.rast.algebra/t.rast.algebra.html | 10 + .../t.rast.list/testsuite/test_t_rast_list.sh | 7 + temporal/t.rast.series/t.rast.series.html | 21 + temporal/t.shift/t.shift.html | 15 + testsuite/README.md | 6 + utils/grass_indent.sh | 8 + utils/release.yml | 7 + vector/v.buffer/main.c | 7 + .../v.build.polylines/v.build.polylines.html | 7 + vector/v.clean/v.clean.html | 10 + vector/v.cluster/main.c | 14 + vector/v.delaunay/memory.c | 7 + vector/v.delaunay/v.delaunay.html | 7 + vector/v.distance/distance.c | 7 + vector/v.generalize/displacement.c | 73 + vector/v.generalize/v.generalize.html | 14 + vector/v.in.ascii/v.in.ascii.html | 7 + vector/v.in.lidar/v.in.lidar.html | 7 + vector/v.in.ogr/main.c | 8 + .../testsuite/data/precip_30ynormals_3d.prj | 7 + vector/v.in.region/v.in.region.html | 3 + vector/v.kernel/global.h | 7 + vector/v.kernel/v.kernel.html | 7 + vector/v.label.sa/annealing.c | 23 + .../v.lidar.correction.html | 39 + vector/v.lidar.growing/growing.c | 34 + vector/v.lidar.growing/main.c | 20 + vector/v.lidar.growing/v.lidar.growing.html | 30 + vector/v.mkgrid/v.mkgrid.html | 7 + vector/v.net.bridge/v.net.bridge.html | 10 + vector/v.net.centrality/v.net.centrality.html | 9 + vector/v.net.components/v.net.components.html | 12 + .../v.net.connectivity.html | 7 + vector/v.net.distance/v.net.distance.html | 4 + vector/v.net.flow/v.net.flow.html | 24 + vector/v.net.path/v.net.path.html | 7 + vector/v.net.salesman/v.net.salesman.html | 14 + .../v.net.spanningtree.html | 17 + vector/v.net.steiner/main.c | 14 + vector/v.net.timetable/v.net.timetable.html | 4 + vector/v.net.visibility/v.net.visibility.html | 17 + vector/v.net/v.net.html | 32 + vector/v.out.vtk/writeVTK.c | 6 + vector/v.overlay/line_area.c | 7 + vector/v.overlay/v.overlay.html | 7 + vector/v.perturb/main.c | 7 + vector/v.proj/v.proj.html | 4 + vector/v.qcount/findquads.c | 10 + vector/v.random/main.c | 14 + vector/v.random/v.random.html | 7 + vector/v.rectify/v.rectify.html | 3 + vector/v.select/v.select.html | 7 + vector/v.split/main.c | 7 + vector/v.surf.bspline/resamp.c | 6 + vector/v.surf.rst/main.c | 8 + vector/v.univar/main.c | 9 + vector/v.univar/v.univar.html | 7 + vector/v.vol.rst/oct.c | 24 + vector/v.vol.rst/oct.h | 19 + vector/v.vol.rst/user1.c | 70 + vector/v.vol.rst/user3.c | 6 + vector/v.vol.rst/v.vol.rst.html | 14 + vector/v.voronoi/skeleton.c | 7 + vector/v.voronoi/sw_main.c | 15 + vector/vectorintro.html | 4 + visualization/ximgview/main.c | 14 + 443 files changed, 11567 insertions(+), 6 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 47929158532..8a1385d5a83 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -40,6 +40,7 @@ which have to be installed before installing/compiling GRASS: <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD For links to the software, see [REQUIREMENTS.md](REQUIREMENTS.md) in this directory. ======= @@ -54,6 +55,14 @@ directory: For links to the software, see [REQUIREMENTS.md](REQUIREMENTS.md) in this directory. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +For links to the software, see ./REQUIREMENTS.html in this +directory: +======= +For links to the software, see [REQUIREMENTS.md](REQUIREMENTS.md) in this +directory. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Installation order: @@ -107,6 +116,7 @@ explains the options used to disable the compilation of non-mandatory <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD GRASS modules. See [REQUIREMENTS.md](REQUIREMENTS.md) for details on dependencies. ======= GRASS modules. See REQUIREMENTS.html for details on dependencies. @@ -117,6 +127,12 @@ GRASS modules. See REQUIREMENTS.html for details on dependencies. ======= GRASS modules. See [REQUIREMENTS.md](REQUIREMENTS.md) for details on dependencies. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +GRASS modules. See REQUIREMENTS.html for details on dependencies. +======= +GRASS modules. See [REQUIREMENTS.md](REQUIREMENTS.md) for details on dependencies. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Detailed Wiki notes for various operating systems (MS-Windows, GNU/Linux distributions, FreeBSD, AIX, etc) are available at: @@ -340,6 +356,7 @@ CFLAGS="-mcpu=pentium4" # Intel Pentium4 processor <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD CFLAGS="-O2 -msse -msse2 -mfpmath=sse \ -minline-all-stringops" # Intel XEON 64bit processor ======= @@ -352,6 +369,13 @@ CFLAGS="-O2 -msse -msse2 -mfpmath=sse -minline-all-stringops" # Intel XEON 64bit CFLAGS="-O2 -msse -msse2 -mfpmath=sse \ -minline-all-stringops" # Intel XEON 64bit processor >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +CFLAGS="-O2 -msse -msse2 -mfpmath=sse -minline-all-stringops" # Intel XEON 64bit processor +======= +CFLAGS="-O2 -msse -msse2 -mfpmath=sse \ + -minline-all-stringops" # Intel XEON 64bit processor +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) CFLAGS="-mtune=nocona -m64 -minline-all-stringops" # Intel Pentium 64bit processor ``` diff --git a/Makefile b/Makefile index 4a27ae203ec..3871cf71152 100644 --- a/Makefile +++ b/Makefile @@ -70,6 +70,7 @@ SUBDIRS = $(DIRS) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD FILES = AUTHORS CHANGES CITING COPYING GPL.TXT INSTALL.md REQUIREMENTS.md contributors.csv contributors_extra.csv translators.csv ======= FILES = AUTHORS CHANGES CITING COPYING GPL.TXT INSTALL.md REQUIREMENTS.html contributors.csv contributors_extra.csv translators.csv @@ -80,6 +81,12 @@ FILES = AUTHORS CHANGES CITING COPYING GPL.TXT INSTALL.md REQUIREMENTS.html cont ======= FILES = AUTHORS CHANGES CITING COPYING GPL.TXT INSTALL.md REQUIREMENTS.md contributors.csv contributors_extra.csv translators.csv >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +FILES = AUTHORS CHANGES CITING COPYING GPL.TXT INSTALL.md REQUIREMENTS.html contributors.csv contributors_extra.csv translators.csv +======= +FILES = AUTHORS CHANGES CITING COPYING GPL.TXT INSTALL.md REQUIREMENTS.md contributors.csv contributors_extra.csv translators.csv +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) FILES_DST = $(patsubst %,$(ARCH_DISTDIR)/%,$(FILES)) default: diff --git a/README.md b/README.md index 6becede9229..83e6ec497f6 100644 --- a/README.md +++ b/README.md @@ -50,10 +50,18 @@ visualization. <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) Launch this repository in Binder and experiment with GRASS's Python API in Jupyter Notebooks by clicking the button below: +======= +Launch this repository in Binder and experiment with GRASS's Python API in Jupyter Notebooks by clicking the button below: +======= +Launch this repository in Binder and experiment with GRASS's Python API in +Jupyter Notebooks by clicking the button below: +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/OSGeo/grass/main?labpath=doc%2Fnotebooks%2Fjupyter_example.ipynb) @@ -93,6 +101,7 @@ Want to become a core developer? See <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Yes, you should really read [INSTALL.md](INSTALL.md). In addition, there are detailed [compile instructions](https://grasswiki.osgeo.org/wiki/Compile_and_Install) in the Wiki. @@ -103,10 +112,17 @@ Yes, you should really read [INSTALL.md](INSTALL.md). In addition, there are det Yes, you should really read [INSTALL.md](INSTALL.md). In addition, there are detailed [compile instructions](https://grasswiki.osgeo.org/wiki/Compile_and_Install) in the Wiki. >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +Yes, you should really read [INSTALL.md](INSTALL.md). In addition, there are detailed [compile instructions](https://grasswiki.osgeo.org/wiki/Compile_and_Install) in the Wiki. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= Yes, you should really read [INSTALL.md](INSTALL.md). In addition, there are detailed [compile instructions](https://grasswiki.osgeo.org/wiki/Compile_and_Install) in the Wiki. +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ## Docker @@ -117,10 +133,17 @@ containing the source code): <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) A. Docker image **without graphical user interface - wxGUI**. +======= +======= +A. Docker image **without graphical user interface - wxGUI**. + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ```bash docker build -t grassgis . ======= diff --git a/REQUIREMENTS.md b/REQUIREMENTS.md index 99a6f1b15e0..70f4206ea5f 100644 --- a/REQUIREMENTS.md +++ b/REQUIREMENTS.md @@ -66,20 +66,26 @@ Note: also the respective development packages (commonly named `xxx-dev` or - **libpng** (for `r.out.png` and the PNG driver), usually already installed. [http://www.libpng.org/pub/png/libpng.html](http://www.libpng.org/pub/png/libpng.html) <<<<<<< HEAD +<<<<<<< HEAD - **LIBSVM** (for SVM classification modules `i.svm.train` and `i.svm.predict`) [https://www.csie.ntu.edu.tw/~cjlin/libsvm/](https://www.csie.ntu.edu.tw/~cjlin/libsvm/) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) - **libtiff** (for `r.out.tiff`), usually already installed. [https://gitlab.com/libtiff/libtiff](https://gitlab.com/libtiff/libtiff) - **readline** for extra command prompt functionality [https://tiswww.case.edu/~chet/readline/rltop.html](https://tiswww.case.edu/~chet/readline/rltop.html) [ftp://ftp.gnu.org/gnu/readline](ftp://ftp.gnu.org/gnu/readline) <<<<<<< HEAD +<<<<<<< HEAD - **PDAL** ( for LAS import modules `r.in.pdal` and `v.in.pdal`) [https://pdal.io](https://pdal.io) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) - **PostgreSQL libraries** (for the PostgreSQL database interface and PostGIS support) [https://www.postgresql.org](https://www.postgresql.org) - **MariaDB/MySQL libraries** (for the MySQL database interface) @@ -93,12 +99,18 @@ Note: also the respective development packages (commonly named `xxx-dev` or - **FreeType2** (for TrueType font support and `d.text.freetype`) [https://freetype.org/](https://freetype.org/) <<<<<<< HEAD +<<<<<<< HEAD +======= ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) - **Ctypes** (for ctypes interface) Ctypes can be added as a third-party module in Python 2.3 and 2.4 - [https://pypi.org/project/ctypes/1.0.2/](https://pypi.org/project/ctypes/1.0.2/) [https://docs.python.org/library/ctypes.html](https://docs.python.org/library/ctypes.html) +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) - **wxPython >= 2.8.10.1** (for wxGUI) [https://www.wxpython.org](https://www.wxpython.org) - **NumPy >= 1.0.4** (for various wxGUI components and pyGRASS) @@ -121,12 +133,18 @@ Note: also the respective development packages (commonly named `xxx-dev` or - **python-termcolor** (recommended for `g.search.modules`) [https://pypi.org/project/termcolor/](https://pypi.org/project/termcolor/) <<<<<<< HEAD +<<<<<<< HEAD +======= ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) - **six** (`python-six`, needed for Python API and for cross-version Python compatibility) [https://pypi.python.org/pypi/six](https://pypi.python.org/pypi/six) [https://github.com/benjaminp/six](https://github.com/benjaminp/six) +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) - **FFMPEG or alternative** (for wxGUI Animation tool - `g.gui.module`), specifically ffmpeg tool [https://ffmpeg.org](https://ffmpeg.org) @@ -155,11 +173,15 @@ MacOSX users may go here to download precompiled libraries etc.: --- +<<<<<<< HEAD <<<<<<< HEAD © _GRASS Development Team 1997-2024_ ======= © _GRASS Development Team 1997-2023_ >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +© _GRASS Development Team 1997-2023_ +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Please report bugs here: [https://grass.osgeo.org/contribute/](https://grass.osgeo.org/contribute/) diff --git a/aclocal.m4 b/aclocal.m4 index ef8e25be429..6f0120b9b58 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -218,6 +218,7 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD #include ======= ======= @@ -227,6 +228,12 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[ ======= #include >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +#include +======= +#include +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #include <$1> int main(void) { FILE *fp = fopen("conftestdata","w"); @@ -612,6 +619,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ LD_SEARCH_FLAGS='-Wl,-rpath-link,${LIB_RUNTIME_DIR} -Wl,-rpath,${INST_DIR}/lib' <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD # TODO: add optional pthread support with any combination of: # CFLAGS="$CFLAGS -pthread" @@ -625,6 +633,12 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ ======= # TODO: add optional pthread support with any combination of: >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + # TODO: add optional pthread support with any combination of: +======= + # TODO: add optional pthread support with any combination of: +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # CFLAGS="$CFLAGS -pthread" # LDFLAGS="$LDFLAGS -lpthread" # AC_DEFINE(_REENTRANT, 1, [define _REENTRANT flag (for SunOS)]) @@ -809,6 +823,7 @@ AC_DEFUN([LOC_OPENMP], dnl -------------------- / OpenMP --------------------------------------------- +<<<<<<< HEAD <<<<<<< HEAD dnl -------------------- OpenMP ----------------------------------------------- dnl OpenMP code borrowed and modified from Autoconf 2.71 (AC_OPENMP) @@ -950,6 +965,8 @@ dnl -------------------- / OpenMP --------------------------------------------- ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) dnl XXXX Begin Stolen from cdrtools-2.01 dnl XXXX by Joerg Schilling et al. XXXXXXXXX diff --git a/configure b/configure index 9176224a734..608c5f1bc16 100755 --- a/configure +++ b/configure @@ -1082,6 +1082,7 @@ USE_OPENMP <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) OPENMP_LIB @@ -1092,16 +1093,27 @@ OPENMP_CFLAGS ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) OMPCFLAGS OMPLIB OMPLIBPATH OMPINCPATH <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +OPENMP_LIB +OPENMP_LIBPATH +OPENMP_INCPATH +OPENMP_CFLAGS +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) USE_PTHREAD PTHREADLIB PTHREADLIBPATH @@ -1462,6 +1474,7 @@ with_x <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD enable_openmp ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -1470,6 +1483,11 @@ enable_openmp ======= enable_openmp >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +enable_openmp +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) enable_largefile ' ac_precious_vars='build_alias @@ -2220,6 +2238,7 @@ Optional Features: --enable-w11 use W11 library for Windows X11 emulation <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD --disable-openmp do not use OpenMP ======= @@ -2229,6 +2248,11 @@ Optional Features: ======= --disable-openmp do not use OpenMP >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + --disable-openmp do not use OpenMP +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) --disable-largefile omit support for large files (LFS) Optional Packages: @@ -18796,6 +18820,7 @@ fi CFLAGS="$CFLAGS $PDAL_CFLAGS" <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= CPPFLAGS="$CPPFLAGS $PDAL_CPPFLAGS $PDAL_INC" <<<<<<< HEAD @@ -18804,6 +18829,11 @@ fi >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + CPPFLAGS="$CPPFLAGS $PDAL_CPPFLAGS $PDAL_INC" +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -31736,12 +31766,15 @@ if test -n "$with_openmp_includes" ; then fi +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for location of OpenMP library" >&5 printf %s "checking for location of OpenMP library... " >&6; } ======= ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of OpenMP library" >&5 $as_echo_n "checking for location of OpenMP library... " >&6; } case "$with_openmp_libs" in @@ -31762,10 +31795,20 @@ if test -n "$with_openmp_libs"; then done fi +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) ac_save_cppflags="$CPPFLAGS" CPPFLAGS="$OPENMP_INCPATH $CPPFLAGS" +======= + +ac_save_cppflags="$CPPFLAGS" +<<<<<<< HEAD +CPPFLAGS="$OMPINCPATH $CPPFLAGS" +======= +CPPFLAGS="$OPENMP_INCPATH $CPPFLAGS" +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for ac_header in omp.h do : ac_fn_c_check_header_mongrel "$LINENO" "omp.h" "ac_cv_header_omp_h" "$ac_includes_default" @@ -31875,11 +31918,55 @@ choke me GOMP_parallel_start(); #endif +<<<<<<< HEAD ; return 0; } EOF if { (eval echo configure:13281: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_GOMP_parallel_start=yes" +======= +======= +ac_save_ldflags="$LDFLAGS" +LDFLAGS="$OPENMP_LIBPATH $LDFLAGS" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for omp_get_num_threads in -lomp" >&5 +$as_echo_n "checking for omp_get_num_threads in -lomp... " >&6; } + +ac_check_lib_save_LIBS=$LIBS +LIBS="-lomp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char omp_get_num_threads (); +int +main () +{ +return omp_get_num_threads (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_omp_omp_get_num_threads=yes +else + ac_cv_lib_omp_omp_get_num_threads=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_omp_omp_get_num_threads" >&5 +$as_echo "$ac_cv_lib_omp_omp_get_num_threads" >&6; } +if test "x$ac_cv_lib_omp_omp_get_num_threads" = xyes; then : + OPENMP_LIB="$OPENMP_LIB -lomp " +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 @@ -31888,6 +31975,7 @@ else >>>>>>> 9d4a079d2e (libcairodriver: enable Cairo with and without Fontconfig (#1697)) fi +<<<<<<< HEAD done CPPFLAGS=$ac_save_cppflags @@ -31936,6 +32024,8 @@ else ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) LDFLAGS=${ac_save_ldflags} ac_save_ldflags="$LDFLAGS" @@ -32094,7 +32184,15 @@ LIBS=$ac_check_lib_save_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gomp_GOMP_parallel_start" >&5 $as_echo "$ac_cv_lib_gomp_GOMP_parallel_start" >&6; } if test "x$ac_cv_lib_gomp_GOMP_parallel_start" = xyes; then : +<<<<<<< HEAD + OPENMP_LIB="$OPENMP_LIB -lgomp " +======= +<<<<<<< HEAD + OMPLIB="$OMPLIB -lgomp " +======= OPENMP_LIB="$OPENMP_LIB -lgomp " +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) else <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -32123,25 +32221,36 @@ LDFLAGS=${ac_save_ldflags} loc_save_cflags="$CFLAGS" CFLAGS="${CFLAGS} ${OPENMP_INCPATH} ${OPENMP_LIBPATH} ${OPENMP_LIB}" <<<<<<< HEAD +<<<<<<< HEAD if test -e penmp || test -e mp; then as_fn_error $? "AC_OPENMP clobbers files named 'mp' and 'penmp'. Aborting configure because one of these files already exists." "$LINENO" 5 fi # Check whether --enable-openmp was given. if test ${enable_openmp+y} then : +======= + + OPENMP_CFLAGS= + # Check whether --enable-openmp was given. +if test "${enable_openmp+set}" = set; then : +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) enableval=$enable_openmp; fi +<<<<<<< HEAD <<<<<<< HEAD OPENMP_CFLAGS= if test "$enable_openmp" != no; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to support OpenMP" >&5 printf %s "checking for $CC option to support OpenMP... " >&6; } ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # try to build a test program with "$CC $OMPCLFAGS" to confirm it works #...how? #echo "int main() {return 0;}" > test.c #$CC $OMPCLFAGS test.c -o test +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ac_cv_prog_c_openmp='not found' @@ -32212,6 +32321,14 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to support OpenMP" >&5 $as_echo_n "checking for $CC option to support OpenMP... " >&6; } +======= +======= + if test "$enable_openmp" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to support OpenMP" >&5 +$as_echo_n "checking for $CC option to support OpenMP... " >&6; } +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -32261,7 +32378,10 @@ $as_echo "$ac_cv_prog_c_openmp" >&6; } *) OPENMP_CFLAGS=$ac_cv_prog_c_openmp ;; esac +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) fi diff --git a/configure.ac b/configure.ac index d156a4370f4..c6ae4f49a3b 100644 --- a/configure.ac +++ b/configure.ac @@ -1286,6 +1286,13 @@ else if test "$PDAL_CONFIG" != "" ; then PDAL_LIBS=`"$PDAL_CONFIG" --libs` +<<<<<<< HEAD +======= +<<<<<<< HEAD + PDAL_CPPFLAGS=`"$PDAL_CONFIG" --cxxflags` +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) PDAL_INC=`"$PDAL_CONFIG" --includes` USE_PDAL=1 fi @@ -1300,6 +1307,10 @@ else <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= + ac_save_cppflags="$CPPFLAGS" +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) LIBS="$LIBS $PDAL_LIBS" CFLAGS="$CFLAGS $PDAL_CFLAGS" <<<<<<< HEAD:configure.ac @@ -1310,6 +1321,7 @@ else AC_MSG_ERROR([*** Unable to locate suitable (>=1.7.1) PDAL library.]) ======= CPPFLAGS="$CPPFLAGS $PDAL_CPPFLAGS $PDAL_INC" +<<<<<<< HEAD AC_TRY_LINK([#include #include class St:public pdal::Streamable {};],[pdal::PointTable table;],,[ @@ -1321,6 +1333,12 @@ else >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) LIBS="$LIBS $PDAL_LIBS" CFLAGS="$CFLAGS $PDAL_CFLAGS" +======= +======= + LIBS="$LIBS $PDAL_LIBS" + CFLAGS="$CFLAGS $PDAL_CFLAGS" +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include #include class St:public pdal::Streamable {};]], [[pdal::PointTable table;]])],[],[ @@ -1358,6 +1376,13 @@ else ]) LIBS=${ac_save_libs} CFLAGS=${ac_save_cflags} +<<<<<<< HEAD +======= +<<<<<<< HEAD + CPPFLAGS=${ac_save_cppflags} +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) AC_DEFINE(HAVE_PDAL, 1, [define if PDAL exists]) <<<<<<< HEAD @@ -2332,6 +2357,7 @@ LOC_CHECK_USE(openmp,OpenMP,USE_OPENMP) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD if test "$enable_openmp" != no; then if test -n "${USE_OPENMP}"; then @@ -2372,6 +2398,8 @@ fi # enable_openmp ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) OMPINCPATH= OMPLIBPATH= OMPLIB= @@ -2423,11 +2451,53 @@ AC_SUBST(OMPLIBPATH) AC_SUBST(OMPLIB) AC_SUBST(OMPCFLAGS) <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +if test "$enable_openmp" != no; then + +if test -n "${USE_OPENMP}"; then + +OPENMP_INCPATH= +OPENMP_LIBPATH= +OPENMP_LIB= +OPENMP_CFLAGS= + +LOC_CHECK_INC_PATH(openmp,OpenMP,OPENMP_INCPATH) +LOC_CHECK_LIB_PATH(openmp,OpenMP,OPENMP_LIBPATH) +LOC_CHECK_INCLUDES(omp.h,OpenMP,$OPENMP_INCPATH) + +LOC_CHECK_LIBS(omp,omp_get_num_threads,OpenMP,$OPENMP_LIBPATH,OPENMP_LIB,,,[ +LOC_CHECK_LIBS(gomp,GOMP_parallel_start,OpenMP,$OPENMP_LIBPATH,OPENMP_LIB,,,)]) + +loc_save_cflags="$CFLAGS" +CFLAGS="${CFLAGS} ${OPENMP_INCPATH} ${OPENMP_LIBPATH} ${OPENMP_LIB}" +LOC_OPENMP +CFLAGS="${loc_save_cflags}" + +AC_SUBST(OPENMP_INCPATH) +AC_SUBST(OPENMP_LIBPATH) +AC_SUBST(OPENMP_LIB) +AC_SUBST(OPENMP_CFLAGS) + +fi # USE_OPENMP + +else # enable_openmp + +if test -n "${USE_OPENMP}"; then +LOC_MSG(OpenMP explicitly disabled with --disable-openmp.) +fi +USE_OPENMP= + +fi # enable_openmp + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) AC_SUBST(USE_OPENMP) # Done checking OpenMP diff --git a/db/drivers/dbf/cursor.c b/db/drivers/dbf/cursor.c index e48831af25d..90ba71aeb18 100644 --- a/db/drivers/dbf/cursor.c +++ b/db/drivers/dbf/cursor.c @@ -38,6 +38,7 @@ int db__driver_close_cursor(dbCursor *dbc) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD cursor *alloc_cursor(void) ======= ======= @@ -47,6 +48,12 @@ cursor *alloc_cursor() ======= cursor *alloc_cursor(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +cursor *alloc_cursor() +======= +cursor *alloc_cursor(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { cursor *c; diff --git a/db/drivers/dbf/table.c b/db/drivers/dbf/table.c index 0c169be4ec7..65999787f76 100644 --- a/db/drivers/dbf/table.c +++ b/db/drivers/dbf/table.c @@ -60,6 +60,7 @@ int add_table(char *table, char *name) #endif <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (res < 0 || (size_t)res >= buf_s) { ======= @@ -71,6 +72,12 @@ int add_table(char *table, char *name) ======= if (res < 0 || (size_t)res >= buf_s) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (res >= buf_s) { +======= + if (res < 0 || (size_t)res >= buf_s) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) db_d_append_error(_("Unable to add table %s to %s. " "The file path is too long."), name, db.name); diff --git a/db/drivers/mysql/cursor.c b/db/drivers/mysql/cursor.c index 77afd9f5430..eeaa623a087 100644 --- a/db/drivers/mysql/cursor.c +++ b/db/drivers/mysql/cursor.c @@ -35,6 +35,7 @@ int db__driver_close_cursor(dbCursor *dbc) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD cursor *alloc_cursor(void) ======= ======= @@ -44,6 +45,12 @@ cursor *alloc_cursor() ======= cursor *alloc_cursor(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +cursor *alloc_cursor() +======= +cursor *alloc_cursor(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { cursor *c; diff --git a/db/drivers/mysql/grass-mysql.html b/db/drivers/mysql/grass-mysql.html index 905f0bb05fb..4e86a4147e2 100644 --- a/db/drivers/mysql/grass-mysql.html +++ b/db/drivers/mysql/grass-mysql.html @@ -74,6 +74,7 @@

Privileges

<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Because MySQL does not support groups of users and because ======= ======= @@ -83,6 +84,12 @@

Privileges

======= Because MySQL does not support groups of users and because >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Because MySQL does not support groups of users and because +======= +Because MySQL does not support groups of users and because +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) only MySQL 'root' can grant privileges to other users GRASS cannot automatically grant select privileges on created tables to group of users. @@ -102,6 +109,7 @@

Schemas

<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Because MySQL does not support database schemas the parameter ======= ======= @@ -111,6 +119,12 @@

Schemas

======= Because MySQL does not support database schemas the parameter >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Because MySQL does not support database schemas the parameter +======= +Because MySQL does not support database schemas the parameter +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) 'schema' of module db.connect should never be set to any value. If you set that parameter for MySQL driver GRASS will try to write tables to the specified schema which will result @@ -121,6 +135,7 @@

Groups

<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD MySQL does not support user groups. Any settings specified ======= ======= @@ -130,6 +145,12 @@

Groups

======= MySQL does not support user groups. Any settings specified >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +MySQL does not support user groups. Any settings specified +======= +MySQL does not support user groups. Any settings specified +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) by 'group' parameter of module db.connect are ignored by GRASS for MySQL driver. @@ -151,6 +172,7 @@

Credits

<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Development of the driver was sponsored by ======= ======= @@ -160,6 +182,12 @@

Credits

======= Development of the driver was sponsored by >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Development of the driver was sponsored by +======= +Development of the driver was sponsored by +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Faunalia (Italy) as part of a project for ATAC. diff --git a/db/drivers/odbc/cursor.c b/db/drivers/odbc/cursor.c index 2e63d4e4d6b..fac307095fb 100644 --- a/db/drivers/odbc/cursor.c +++ b/db/drivers/odbc/cursor.c @@ -24,6 +24,7 @@ int db__driver_close_cursor(dbCursor *dbc) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD cursor *alloc_cursor(void) ======= ======= @@ -33,6 +34,12 @@ cursor *alloc_cursor() ======= cursor *alloc_cursor(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +cursor *alloc_cursor() +======= +cursor *alloc_cursor(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { cursor *c; SQLRETURN ret; diff --git a/db/drivers/odbc/proto.h b/db/drivers/odbc/proto.h index 3bd7146242c..6a84c7e35ab 100644 --- a/db/drivers/odbc/proto.h +++ b/db/drivers/odbc/proto.h @@ -8,6 +8,7 @@ int close_connection(); /* cursor.c */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD cursor *alloc_cursor(void); ======= cursor *alloc_cursor(); @@ -18,6 +19,12 @@ cursor *alloc_cursor(); ======= cursor *alloc_cursor(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +cursor *alloc_cursor(); +======= +cursor *alloc_cursor(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void free_cursor(cursor *c); /* describe.c */ diff --git a/db/drivers/ogr/cursor.c b/db/drivers/ogr/cursor.c index 9dadadd7d2f..6a7d01a4df0 100644 --- a/db/drivers/ogr/cursor.c +++ b/db/drivers/ogr/cursor.c @@ -58,6 +58,7 @@ int db__driver_close_cursor(dbCursor *dbc) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD cursor *alloc_cursor(void) ======= ======= @@ -67,6 +68,12 @@ cursor *alloc_cursor() ======= cursor *alloc_cursor(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +cursor *alloc_cursor() +======= +cursor *alloc_cursor(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { cursor *c; diff --git a/db/drivers/ogr/db.c b/db/drivers/ogr/db.c index 69d6e94a78a..2973088acd4 100644 --- a/db/drivers/ogr/db.c +++ b/db/drivers/ogr/db.c @@ -76,6 +76,7 @@ int db__driver_open_database(dbHandle *handle) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD int db__driver_close_database(void) ======= ======= @@ -85,6 +86,12 @@ int db__driver_close_database() ======= int db__driver_close_database(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int db__driver_close_database() +======= +int db__driver_close_database(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_debug(3, "db_driver_close_database()"); diff --git a/db/drivers/ogr/driver.c b/db/drivers/ogr/driver.c index 23ba4a04b7a..fc8adf0ea24 100644 --- a/db/drivers/ogr/driver.c +++ b/db/drivers/ogr/driver.c @@ -46,6 +46,7 @@ int db__driver_init(int argc, char *argv[]) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD int db__driver_finish(void) ======= ======= @@ -55,6 +56,12 @@ int db__driver_finish() ======= int db__driver_finish(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int db__driver_finish() +======= +int db__driver_finish(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return DB_OK; } diff --git a/db/drivers/sqlite/cursor.c b/db/drivers/sqlite/cursor.c index 63a8374ac46..f6cd4cd9ddc 100644 --- a/db/drivers/sqlite/cursor.c +++ b/db/drivers/sqlite/cursor.c @@ -38,6 +38,7 @@ int db__driver_close_cursor(dbCursor *dbc) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD cursor *alloc_cursor(void) ======= ======= @@ -47,6 +48,12 @@ cursor *alloc_cursor() ======= cursor *alloc_cursor(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +cursor *alloc_cursor() +======= +cursor *alloc_cursor(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { cursor *c; diff --git a/display/d.geodesic/d.geodesic.html b/display/d.geodesic/d.geodesic.html index d7dda403741..4caabfe1b09 100644 --- a/display/d.geodesic/d.geodesic.html +++ b/display/d.geodesic/d.geodesic.html @@ -39,11 +39,15 @@

EXAMPLE

NOTES

+<<<<<<< HEAD <<<<<<< HEAD This program works only with longitude/latitude ======= This program works only in GRASS locations with longitude/latitude >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +This program works only in GRASS locations with longitude/latitude +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) coordinate system.

SEE ALSO

diff --git a/display/d.grid/d.grid.html b/display/d.grid/d.grid.html index 4e4d10cea92..f9ae8a384d2 100644 --- a/display/d.grid/d.grid.html +++ b/display/d.grid/d.grid.html @@ -84,6 +84,7 @@

AUTHORS

Text and RGB support: Hamish Bowman
<<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Background color implemented as part of GSoC 2016 by Adam Laza, CTU in Prague ======= Background color implemented as part of GSoC 2016 by Adam Laza, CTU in Prague @@ -94,3 +95,9 @@

AUTHORS

======= Background color implemented as part of GSoC 2016 by Adam Laza, CTU in Prague >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Background color implemented as part of GSoC 2016 by Adam Laza, CTU in Prague +======= +Background color implemented as part of GSoC 2016 by Adam Laza, CTU in Prague +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/display/d.histogram/bar.h b/display/d.histogram/bar.h index 6c09e28730f..ce3b81dd215 100644 --- a/display/d.histogram/bar.h +++ b/display/d.histogram/bar.h @@ -13,6 +13,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD float rem(long int, long int); /* remainder function */ ======= float rem(); /* remainder function */ @@ -23,6 +24,12 @@ float rem(); /* remainder function */ ======= float rem(long int, long int); /* remainder function */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +float rem(); /* remainder function */ +======= +float rem(long int, long int); /* remainder function */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* normalized coordinates of bar-chart components */ diff --git a/display/d.histogram/pie.h b/display/d.histogram/pie.h index c0831d2e7c2..ab75957a324 100644 --- a/display/d.histogram/pie.h +++ b/display/d.histogram/pie.h @@ -42,6 +42,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD float rem(long int, long int); /* remainder function */ ======= float rem(); /* remainder function */ @@ -52,6 +53,12 @@ float rem(); /* remainder function */ ======= float rem(long int, long int); /* remainder function */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +float rem(); /* remainder function */ +======= +float rem(long int, long int); /* remainder function */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* normalized coordinates & dimensions of pie-chart components */ diff --git a/display/d.labels/d.labels.html b/display/d.labels/d.labels.html index 5c9d3395ec2..13dc31457df 100644 --- a/display/d.labels/d.labels.html +++ b/display/d.labels/d.labels.html @@ -7,10 +7,14 @@

DESCRIPTION

the v.label program or simply created by the user as an ASCII file (using a text editor) and placed in the <<<<<<< HEAD +<<<<<<< HEAD appropriate directory under the user's current mapset and project ======= appropriate directory under the user's current mapset and location >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +appropriate directory under the user's current mapset and location +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) (i.e. $MAPSET/paint/labels/).

NOTES

diff --git a/display/d.legend/draw.c b/display/d.legend/draw.c index 08b4de3f65d..c08d0c039bb 100644 --- a/display/d.legend/draw.c +++ b/display/d.legend/draw.c @@ -293,6 +293,7 @@ void draw(const char *map_name, int maptype, int color, int thin, int lines, int log_maxCat = (int)(log10(fabs(maxCat))) + 1; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (snprintf(DispFormat, b_s, "%%%dd", log_maxCat) >= (int)b_s) ======= @@ -304,6 +305,12 @@ void draw(const char *map_name, int maptype, int color, int thin, int lines, ======= if (snprintf(DispFormat, b_s, "%%%dd", log_maxCat) >= (int)b_s) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (snprintf(DispFormat, b_s, "%%%dd", log_maxCat) >= b_s) +======= + if (snprintf(DispFormat, b_s, "%%%dd", log_maxCat) >= (int)b_s) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error( _("Failed to create format string with maxCat=%f."), maxCat); diff --git a/display/d.mon/start.c b/display/d.mon/start.c index 859a10d1336..d24fe6e8fb3 100644 --- a/display/d.mon/start.c +++ b/display/d.mon/start.c @@ -188,6 +188,7 @@ int start_mon(const char *name, const char *output, int select, int width, from wxGUI */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) G_fatal_error(_("Failed to write to file <%s>"), env_file); @@ -197,6 +198,8 @@ int start_mon(const char *name, const char *output, int select, int width, sprintf(buf, "GRASS_RENDER_TRANSPARENT=TRUE\n"); if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (write(fd, buf, strlen(buf)) != strlen(buf)) G_fatal_error(_("Failed to write to file <%s>"), env_file); sprintf(buf, "GRASS_RENDER_FILE_READ=FALSE\n"); @@ -204,11 +207,24 @@ int start_mon(const char *name, const char *output, int select, int width, G_fatal_error(_("Failed to write to file <%s>"), env_file); sprintf(buf, "GRASS_RENDER_TRANSPARENT=TRUE\n"); if (write(fd, buf, strlen(buf)) != strlen(buf)) +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) + G_fatal_error(_("Failed to write to file <%s>"), env_file); + sprintf(buf, "GRASS_RENDER_FILE_READ=FALSE\n"); + if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) + G_fatal_error(_("Failed to write to file <%s>"), env_file); + sprintf(buf, "GRASS_RENDER_TRANSPARENT=TRUE\n"); + if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Failed to write to file <%s>"), env_file); } else { sprintf(buf, "GRASS_RENDER_IMMEDIATE=%s\n", name); +<<<<<<< HEAD <<<<<<< HEAD if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) G_fatal_error(_("Failed to write to file <%s>"), env_file); @@ -228,6 +244,8 @@ int start_mon(const char *name, const char *output, int select, int width, sprintf(buf, "GRASS_LEGEND_FILE=%s\n", leg_file); if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (write(fd, buf, strlen(buf)) != strlen(buf)) G_fatal_error(_("Failed to write to file <%s>"), env_file); sprintf(buf, "GRASS_RENDER_FILE_READ=TRUE\n"); @@ -245,7 +263,29 @@ int start_mon(const char *name, const char *output, int select, int width, G_fatal_error(_("Failed to write to file <%s>"), env_file); sprintf(buf, "GRASS_LEGEND_FILE=%s\n", leg_file); if (write(fd, buf, strlen(buf)) != strlen(buf)) +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) + G_fatal_error(_("Failed to write to file <%s>"), env_file); + sprintf(buf, "GRASS_RENDER_FILE_READ=TRUE\n"); + if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) + G_fatal_error(_("Failed to write to file <%s>"), env_file); + } + sprintf(buf, "GRASS_RENDER_FILE=%s\n", out_file); + if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) + G_fatal_error(_("Failed to write to file <%s>"), env_file); + sprintf(buf, "GRASS_RENDER_WIDTH=%d\n", width); + if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) + G_fatal_error(_("Failed to write to file <%s>"), env_file); + sprintf(buf, "GRASS_RENDER_HEIGHT=%d\n", height); + if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) + G_fatal_error(_("Failed to write to file <%s>"), env_file); + sprintf(buf, "GRASS_LEGEND_FILE=%s\n", leg_file); + if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Failed to write to file <%s>"), env_file); ======= if (write(fd, buf, strlen(buf)) != strlen(buf)) @@ -289,6 +329,7 @@ int start_mon(const char *name, const char *output, int select, int width, sprintf(buf, "GRASS_RENDER_BACKGROUNDCOLOR=%s\n", bgcolor); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) ======= @@ -300,12 +341,19 @@ int start_mon(const char *name, const char *output, int select, int width, ======= if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (write(fd, buf, strlen(buf)) != strlen(buf)) +======= + if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Failed to write to file <%s>"), env_file); } if (truecolor) { sprintf(buf, "GRASS_RENDER_TRUECOLOR=TRUE\n"); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) ======= @@ -317,6 +365,12 @@ int start_mon(const char *name, const char *output, int select, int width, ======= if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (write(fd, buf, strlen(buf)) != strlen(buf)) +======= + if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Failed to write to file <%s>"), env_file); } close(fd); diff --git a/display/d.rhumbline/d.rhumbline.html b/display/d.rhumbline/d.rhumbline.html index ba43f24fd3e..b01809346ca 100644 --- a/display/d.rhumbline/d.rhumbline.html +++ b/display/d.rhumbline/d.rhumbline.html @@ -40,11 +40,15 @@

EXAMPLE

NOTES

+<<<<<<< HEAD <<<<<<< HEAD This program works only with longitude/latitude ======= This program works only in GRASS locations with longitude/latitude >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +This program works only in GRASS locations with longitude/latitude +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) coordinate system.

SEE ALSO

diff --git a/display/d.text/d.text.html b/display/d.text/d.text.html index c16bcf92012..075f3bf678c 100644 --- a/display/d.text/d.text.html +++ b/display/d.text/d.text.html @@ -117,6 +117,7 @@

AUTHORS

<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD James Westervelt, U.S. Army Construction Engineering ======= @@ -129,5 +130,13 @@

AUTHORS

James Westervelt, U.S. Army Construction Engineering >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +James Westervelt, +U.S. Army Construction Engineering +======= +James Westervelt, +U.S. Army Construction Engineering +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Research Laboratory

Updates by Huidae Cho diff --git a/display/d.title/d.title.html b/display/d.title/d.title.html index 514ba8731d1..661075d48b1 100644 --- a/display/d.title/d.title.html +++ b/display/d.title/d.title.html @@ -14,6 +14,7 @@

DESCRIPTION

NOTES

+<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD ======= @@ -25,17 +26,29 @@

NOTES

the user should choose a text size appropriate to this frame. <<<<<<< HEAD ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) The text created with d.text will not necessarily fit within the active display frame on the graphics monitor; the user should choose a text size appropriate to this frame. <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +The text created with +d.text +will not necessarily fit within the +active display frame on the graphics monitor; +the user should choose a text size appropriate to this frame. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

EXAMPLES

@@ -70,6 +83,7 @@

AUTHOR

<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD James Westervelt, U.S. Army Construction Engineering ======= @@ -82,4 +96,12 @@

AUTHOR

James Westervelt, U.S. Army Construction Engineering >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +James Westervelt, +U.S. Army Construction Engineering +======= +James Westervelt, +U.S. Army Construction Engineering +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Research Laboratory diff --git a/display/d.vect/d.vect.html b/display/d.vect/d.vect.html index 47532884cc1..7fdec829177 100644 --- a/display/d.vect/d.vect.html +++ b/display/d.vect/d.vect.html @@ -10,6 +10,7 @@

NOTES

which allow the user to specify vector type, colors, data fields, SQL queries, label size and justification, etc. +<<<<<<< HEAD <<<<<<< HEAD

When d.vect is used with where parameter on MS Windows Command Prompt, it is important to use ˆ @@ -20,6 +21,8 @@

NOTES

======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

By default d.vect areas are filled with fill_color and outlined with color. Area outlines can be suppressed with

diff --git a/doc/development/rfc/PSC_guidelines.md b/doc/development/rfc/PSC_guidelines.md
index e01fcf2b86b..fc674c72619 100644
--- a/doc/development/rfc/PSC_guidelines.md
+++ b/doc/development/rfc/PSC_guidelines.md
@@ -11,6 +11,7 @@ Status: Adopted (6 April 2007)
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
 A GRASS Project Steering Committee ([PSC](https://trac.osgeo.org/grass/wiki/PSC))
@@ -30,6 +31,17 @@ It is desired to keep the administrational overhead as low as possible.
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+A GRASS Project Steering Committee ([PSC](https://trac.osgeo.org/grass/wiki/PSC)) is proposed to formalize control
+over the GRASS codebase and to facilitate GRASS project management issues.
+It is desired to keep the administrational overhead as low as possible.
+=======
+A GRASS Project Steering Committee ([PSC](https://trac.osgeo.org/grass/wiki/PSC))
+is proposed to formalize control over the GRASS codebase and to facilitate GRASS
+project management issues. It is desired to keep the administrational overhead
+as low as possible.
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 This document describes how the GRASS Project Steering Committee
 determines membership, and makes decisions on GRASS project issues.
@@ -63,6 +75,7 @@ currently include:
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 * Enforcing the submitter guidelines, with the ultimate sanction against
   non-compliance being removal of write access to the source code repository.
 =======
@@ -75,6 +88,13 @@ currently include:
 * Enforcing the submitter guidelines, with the ultimate sanction against
   non-compliance being removal of write access to the source code repository.
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+* Enforcing the submitter guidelines, with the ultimate sanction against non-compliance being removal of write access to the source code repository.
+=======
+* Enforcing the submitter guidelines, with the ultimate sanction against
+  non-compliance being removal of write access to the source code repository.
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 In general, once write access has been granted, developers are allowed to
 make changes to the codebase as they see fit. For controversial or
@@ -95,6 +115,7 @@ Removal of write access to the source code repository is handled as a
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 proposal to the committee as described below in the
 [Operation of the PSC](#operation-of-the-psc) section.
 =======
@@ -107,6 +128,13 @@ proposal to the committee as described below in the [Operation of the PSC](#oper
 proposal to the committee as described below in the
 [Operation of the PSC](#operation-of-the-psc) section.
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+proposal to the committee as described below in the [Operation of the PSC](#operation-of-the-psc) section.
+=======
+proposal to the committee as described below in the
+[Operation of the PSC](#operation-of-the-psc) section.
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ### Legal aspects
 
diff --git a/doc/development/rfc/PSC_voting_procedures.md b/doc/development/rfc/PSC_voting_procedures.md
index 35439718d3e..98c911898d2 100644
--- a/doc/development/rfc/PSC_voting_procedures.md
+++ b/doc/development/rfc/PSC_voting_procedures.md
@@ -11,6 +11,7 @@ Status: Adopted (6 Oct 2014)
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 In brief, the PSC members vote on proposals on the dedicated
 [GRASS-PSC mailing list](http://lists.osgeo.org/mailman/listinfo/grass-psc).
 =======
@@ -23,6 +24,13 @@ In brief, the PSC members vote on proposals on the dedicated [GRASS-PSC mailing
 In brief, the PSC members vote on proposals on the dedicated
 [GRASS-PSC mailing list](http://lists.osgeo.org/mailman/listinfo/grass-psc).
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+In brief, the PSC members vote on proposals on the dedicated [GRASS-PSC mailing list](http://lists.osgeo.org/mailman/listinfo/grass-psc).
+=======
+In brief, the PSC members vote on proposals on the dedicated
+[GRASS-PSC mailing list](http://lists.osgeo.org/mailman/listinfo/grass-psc).
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 Proposals are available for review for at least seven calendar days, and a
 single veto is sufficient to delay progress although ultimately a majority
 of committee members can pass a proposal.
@@ -33,6 +41,7 @@ Proposals:
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
 
@@ -77,6 +86,8 @@ Voting:
 =======
 =======
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
  1. Proposals are written up and submitted on the PSC mailing list for discussion. Any committee member may call a vote on any proposal, although it is normal practice for the proposer to call the vote. Any interested  party may subscribe to the list and join the discussion, but only [PSC committee members](https://trac.osgeo.org/grass/wiki/PSC) including the PSC Chair get a vote ("eligible voters").
  1. Proposals are available for review for at least seven calendar days before a vote can be closed. It is acknowledged that some more complex issues may require more time for discussion and deliberation: a vote should only be closed after the minimum time period (see above) has passed and sufficient discussion has taken place, or no more progress is being made. The PSC Chair may override this and prolong the discussion period or close a vote straight away if necessary (although the minimum time period for discussion/voting always applies).
 
@@ -90,11 +101,31 @@ Voting:
  1. The Chair adjudicates in cases of disputes over voting.
  1. If a proposal is vetoed, and it cannot be revised to satisfy all parties, then it can be resubmitted for an override vote in which a majority of all eligible voters indicating +1 is sufficient to pass it. Note that this is a majority of all eligible voters, not just those who actively vote.
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
 
+=======
+=======
+
+ 1. Proposals are written up and submitted on the PSC mailing list for discussion.
+    Any committee member may call a vote on any proposal, although it is normal
+    practice for the proposer to call the vote. Any interested  party may subscribe
+    to the list and join the discussion, but only
+    [PSC committee members](https://trac.osgeo.org/grass/wiki/PSC) including the
+    PSC Chair get a vote ("eligible voters").
+ 2. Proposals are available for review for at least seven calendar days before a
+    vote can be closed. It is acknowledged that some more complex issues may
+    require more time for discussion and deliberation: a vote should only be closed
+    after the minimum time period (see above) has passed and sufficient discussion
+    has taken place, or no more progress is being made. The PSC Chair may override
+    this and prolong the discussion period or close a vote straight away if
+    necessary (although the minimum time period for discussion/voting always
+    applies).
+
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 Voting:
 
  1. A voting procedure is started by the proposer. For a more visible communication,
@@ -117,4 +148,8 @@ Voting:
     it can be resubmitted for an override vote in which a majority of all eligible
     voters indicating +1 is sufficient to pass it. Note that this is a majority of
     all eligible voters, not just those who actively vote.
+<<<<<<< HEAD
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
diff --git a/doc/development/rfc/language_standards_support.md b/doc/development/rfc/language_standards_support.md
index 51a8a95eb2c..1ac45b94b26 100644
--- a/doc/development/rfc/language_standards_support.md
+++ b/doc/development/rfc/language_standards_support.md
@@ -8,6 +8,10 @@ Status: Motion passed, 29 March 2021
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
+=======
+The code base of GRASS GIS consists today (Feb. 2021) of predominantly C code (ca 50 %), Python (ca 30 %) and a smaller amount of C++ (ca 5 %). Each of these languages have evolved significantly in the last 10–20 years. There is, however, no clearly stated policy of supported language standard(s), nor mechanism to update this policy when needed or wanted. This result in uncertainty for contributors for what may be allowed and solutions that may not be optimal.
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 The code base of GRASS GIS consists today (Feb. 2021) of predominantly C code
 (ca 50 %), Python (ca 30 %) and a smaller amount of C++ (ca 5 %). Each of these
@@ -95,10 +99,48 @@ See also the discussion leading to this RFC on the mailing list
 <<<<<<< HEAD
 It should be emphasized that existing GRASS GIS C and C++ code compiles also with C17 and C++17. There is therefore no need to modernize it the way it was done to C in the 2000’s. Nevertheless, conforming to newer standards may provide better cross platform support and possibly safer code.
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
+=======
+=======
+
+The code base of GRASS GIS consists today (Feb. 2021) of predominantly C code
+(ca 50 %), Python (ca 30 %) and a smaller amount of C++ (ca 5 %). Each of these
+languages have evolved significantly in the last 10–20 years. There is, however,
+no clearly stated policy of supported language standard(s), nor mechanism to
+update this policy when needed or wanted. This result in uncertainty for
+contributors for what may be allowed and solutions that may not be optimal.
+
+This RFC aims at setting a policy for GRASS GIS project regarding language
+standard support for C and C++.
+
+In addition, this is also intended to set a precedent for future updates on this
+subject.
+
+## Background
+
+Throughout its long history, soon 40 years, GRASS GIS has evolved and steps have
+been taken to adapt and modernize. The latest big modernization of the C code
+was done in 2002–2006 ([summary](https://lists.osgeo.org/pipermail/grass-dev/2021-February/094955.html)),
+when it was updated to conform to C89 (ANSI C) standard. A major job, which has
+payed-off well. However, during the years, language features of successive
+standards have slipped into the code base, which is no longer strictly C89
+(nor C90) conformant. There are no compelling reasons to revert the existing
+code to strict C89, therefore the community has to decide which standard to
+adhere to.
+
+The small amount of C++ code in GRASS GIS has never been formalised and
+officially made to conform to any specific standard.
+
+See also the discussion leading to this RFC on the mailing list
+[thread](https://lists.osgeo.org/pipermail/grass-dev/2021-January/094899.html).
+
+## Discussion
+
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 The advantage of having clearly stated policy on language standard
 requirements/support is important not only for contributors, but also sets the
 frame for supported platforms. For the latter, also the reverse is true: in
@@ -109,7 +151,11 @@ It should be emphasized that existing GRASS GIS C and C++ code compiles also
 with C17 and C++17. There is therefore no need to modernize it the way it was
 done to C in the 2000’s. Nevertheless, conforming to newer standards may
 provide better cross platform support and possibly safer code.
+<<<<<<< HEAD
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 Regarding C, there are three standards that may be considered: C99, C11 and
 C17. C99 never really reached full support on key platforms, this is
@@ -131,6 +177,7 @@ good for C17.
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
 Regarding C++, there are the C++98, C++03, C++11, C++14 and C++17 standards to
@@ -147,6 +194,16 @@ Regarding C++, there are the C++98, C++03, C++11, C++14 and C++17 standards to c
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+Regarding C++, there are the C++98, C++03, C++11, C++14 and C++17 standards to consider. The platform and compiler support for all of these are significantly better. However, C++11 is at this date in general considered the standard and until compelling reasons argue otherwise, the C++11 standard should be policy of the GRASS GIS project.
+=======
+Regarding C++, there are the C++98, C++03, C++11, C++14 and C++17 standards to
+consider. The platform and compiler support for all of these are significantly
+better. However, C++11 is at this date in general considered the standard and
+until compelling reasons argue otherwise, the C++11 standard should be policy of
+the GRASS GIS project.
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ## Proposed Language Standards Support
 
@@ -154,7 +211,10 @@ Regarding C++, there are the C++98, C++03, C++11, C++14 and C++17 standards to c
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 C11 with core (mandatory) features [brief summary](https://en.wikipedia.org/wiki/C11_(C_standard_revision))
 
 Optional features may be used if availability is tested with macro, and if not
@@ -162,6 +222,7 @@ supported, alternative fallback code must be provided.
 
 ### C++ Language
 
+<<<<<<< HEAD
 C++11 [summary](https://en.wikipedia.org/wiki/C%2B%2B11)
 =======
 =======
@@ -169,6 +230,10 @@ C++11 [summary](https://en.wikipedia.org/wiki/C%2B%2B11)
 =======
 
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+=======
+
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 C11 with core (mandatory) features [brief summary](https://en.wikipedia.org/wiki/C11_(C_standard_revision))
 
 Optional features may be used if availability is tested with macro, and if not
@@ -176,6 +241,7 @@ supported, alternative fallback code must be provided.
 
 ### C++ Language
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
@@ -184,3 +250,7 @@ supported, alternative fallback code must be provided.
 =======
 C++11 [summary](https://en.wikipedia.org/wiki/C%2B%2B11)
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+C++11 [summary](https://en.wikipedia.org/wiki/C%2B%2B11)
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
diff --git a/doc/development/rfc/legal_aspects_of_code_contributions.md b/doc/development/rfc/legal_aspects_of_code_contributions.md
index 3b778e4b79c..17ecf7d1583 100644
--- a/doc/development/rfc/legal_aspects_of_code_contributions.md
+++ b/doc/development/rfc/legal_aspects_of_code_contributions.md
@@ -54,6 +54,7 @@ source repository:
  from a file. If a copyright holder wishes to give up copyright they
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 <<<<<<< HEAD
  must do so in writing to the GRASS [PSC](https://trac.osgeo.org/grass/wiki/PSC)
  before copyright messages are removed. If license terms are changed, it has to
@@ -68,11 +69,20 @@ source repository:
  are removed. If license terms are changed, it has to be by agreement
  (written in email is ok) of the copyright holders.
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
+=======
+ must do so in writing to the GRASS [PSC](https://trac.osgeo.org/grass/wiki/PSC) before copyright messages
+ are removed. If license terms are changed, it has to be by agreement
+ (written in email is ok) of the copyright holders.
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 =======
  must do so in writing to the GRASS [PSC](https://trac.osgeo.org/grass/wiki/PSC)
  before copyright messages are removed. If license terms are changed, it has to
  be by agreement (written in email is ok) of the copyright holders.
+<<<<<<< HEAD
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 * When substantial contributions are added to a file (such as
  substantial patches) the author/contributor should be added to the
  list of copyright holders for the file in the file header.
@@ -88,6 +98,7 @@ Internet: 
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
@@ -96,3 +107,8 @@ Internet: 
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
diff --git a/doc/development/rfc/migration_github.md b/doc/development/rfc/migration_github.md
index daa782c3be0..ced7421574f 100644
--- a/doc/development/rfc/migration_github.md
+++ b/doc/development/rfc/migration_github.md
@@ -9,6 +9,7 @@ Status: Motion passed Apr 22, 2019
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
 GRASS GIS is an open source geoinformation system which is developed by a globally
@@ -35,6 +36,16 @@ GRASS GIS is an open source geoinformation system which is developed by a global
 The centralized source code management system Subversion (SVN) has served the GRASS GIS project very well since 2007. The project has established routines and infrastructure (code repository, ticketing system, developer wiki) connected to SVN. However, with an increasing number of Open Source developers using git (and here especially the success of GitHub), time has come to migrate the source code base from SVN kindly hosted by OSGeo to GitHub.com, a widely adopted development platform.
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
+=======
+GRASS GIS is an open source geoinformation system which is developed by a globally distributed team of developers. Besides the source code developers also message translators, people who write documentation, those who report bugs and wishes and more are involved.
+
+The centralized source code management system Subversion (SVN) has served the GRASS GIS project very well since 2007. The project has established routines and infrastructure (code repository, ticketing system, developer wiki) connected to SVN. However, with an increasing number of Open Source developers using git (and here especially the success of GitHub), time has come to migrate the source code base from SVN kindly hosted by OSGeo to GitHub.com, a widely adopted development platform.
+=======
+GRASS GIS is an open source geoinformation system which is developed by a globally
+distributed team of developers. Besides the source code developers also message
+translators, people who write documentation, those who report bugs and wishes and
+more are involved.
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 The centralized source code management system Subversion (SVN) has served the
 GRASS GIS project very well since 2007. The project has established routines and
@@ -43,7 +54,11 @@ SVN. However, with an increasing number of Open Source developers using git (and
 here especially the success of GitHub), time has come to migrate the source code
 base from SVN kindly hosted by OSGeo to GitHub.com, a widely adopted development
 platform.
+<<<<<<< HEAD
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ## Background information of git migration
 
@@ -60,6 +75,7 @@ platform.
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
 Since migration is a huge effort, massive work on converting the existing source
@@ -68,6 +84,9 @@ scope of weeks of efforts was to preserve as much information as possible by
 converting trac/svn references to full URLs pointing to the old system kept
 available in read-only mode.
 <<<<<<< HEAD
+=======
+Since migration is a huge effort, massive work on converting the existing source code (organized in branches) and the related trac tickets has been done. The main scope of weeks of efforts was to preserve as much information as possible by converting trac/svn references to full URLs pointing to the old system kept available in read-only mode.
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 The following new GitHub repositories have been
 [created](https://github.com/grass-svn2git). Note that the "cut-off" date of the
@@ -113,6 +132,7 @@ in time since they contain different branches:
 <<<<<<< HEAD
   * code re-organized from directory-like layout (grass6, grass7) into branches-like layout (master == grass7, grass6, ...)
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
@@ -120,6 +140,34 @@ in time since they contain different branches:
   * code re-organized from directory-like layout (grass6, grass7) into
     branches-like layout (master == grass7, grass6, ...)
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+=======
+Since migration is a huge effort, massive work on converting the existing source
+code (organized in branches) and the related trac tickets has been done. The main
+scope of weeks of efforts was to preserve as much information as possible by
+converting trac/svn references to full URLs pointing to the old system kept
+available in read-only mode.
+
+The following new GitHub repositories have been
+[created](https://github.com/grass-svn2git). Note that the "cut-off" date of the
+main **grass** repository does not correspond to the first upload to CSV which
+was then migrated to SVN. The repositories **grass** and **grass-legacy** overlap
+in time since they contain different branches:
+
+* repository **grass**
+  * Source code from 2008 (as the starting commit r31142 was selected, i.e.
+    "Welcome to GRASS 7.0.svn") to present day (SVN-trunk -> git-master)
+  * i.e., all 7.x and later release branches + master
+* repository **grass-legacy**
+  * Source code from 1987 (pre-public internet times; manually reconstructed) -
+    2018 (r72361 - last commit to releasebranch_6_4)
+  * i.e., a separate repository for older GRASS GIS releases (3.2, 4.x, 5.x, 6.x)
+* repository **grass-addons**
+  * repository for addons
+  * code re-organized from directory-like layout (grass6, grass7) into
+    branches-like layout (master == grass7, grass6, ...)
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 * repository **grass-promo**
   * repository for promotional material
 
@@ -130,6 +178,7 @@ The final destination of these repositories will be under >>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
+Given GRASS GIS’ history of 35+ years we had to invest major effort in identifying and mapping user names throughout the decades (CVS was used from 1999 to 2007; SVN has been used since 2007, see [history](https://grasswiki.osgeo.org/wiki/Bug_tracking)).
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
+=======
 Given GRASS GIS’ history of 35+ years we had to invest major effort in identifying
 and mapping user names throughout the decades (CVS was used from 1999 to 2007; SVN
 has been used since 2007, see [history](https://grasswiki.osgeo.org/wiki/Bug_tracking)).
+<<<<<<< HEAD
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 The following circumstances could be identified:
 
@@ -153,8 +209,12 @@ The following circumstances could be identified:
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 * user present in both with different name as some were changed in the CVS to
   SVN migration in 2007, leading to colliding user names
+=======
+* user present in both with different name as some were changed in the CVS to SVN migration in 2007, leading to colliding user names
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 * some users already having a GitHub account (with mostly different name again)
   * see here for the [author mapping table](https://trac.osgeo.org/grass/browser/grass-addons/tools/svn2git/)
 
@@ -197,6 +257,7 @@ The tickets migrated from trac to GitHub contain updated links in the ticket tex
 <<<<<<< HEAD
 * links to other tickets (closed now pointing to full trac URL, open pointing to a new github issues). Note that there were many styles of referring in the commit log message which had to be parsed accordingly.
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
@@ -205,6 +266,29 @@ The tickets migrated from trac to GitHub contain updated links in the ticket tex
   a new github issues). Note that there were many styles of referring in the
   commit log message which had to be parsed accordingly.
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+=======
+* user present in both with different name as some were changed in the CVS to
+  SVN migration in 2007, leading to colliding user names
+* some users already having a GitHub account (with mostly different name again)
+  * see here for the [author mapping table](https://trac.osgeo.org/grass/browser/grass-addons/tools/svn2git/)
+
+**Important**: nothing is lost as contributions can be
+[claimed](https://help.github.com/en/articles/why-are-my-commits-linked-to-the-wrong-user)
+in GitHub.
+
+## Activating the GitHub issue tracker
+
+As the cut-off date for the trac migration we selected 2007-12-09 (r25479) as it
+was the first SVN commit (after the years in CVS).
+
+The tickets migrated from trac to GitHub contain updated links in the ticket texts:
+
+* links to other tickets (closed now pointing to full trac URL, open pointing to
+  a new github issues). Note that there were many styles of referring in the
+  commit log message which had to be parsed accordingly.
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 * links to trac wiki (now pointing to full trac URL)
 * links source code in SVN (now pointing to full trac URL)
 * images and attachments (now pointing to full trac URL)
@@ -214,6 +298,7 @@ Labels are preserved by transferring:
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 * "operating system" trac label into the GitHub issue text itself (following the
   new issue reporting template)
 * converting milestones/tickets/comments/labels
@@ -231,13 +316,22 @@ Labels are preserved by transferring:
 * converting trac usernames to known GitHub usernames (those missing at time can [claim](https://help.github.com/en/articles/why-are-my-commits-linked-to-the-wrong-user) commits)
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
+* "operating system" trac label into the GitHub issue text itself (following the new issue reporting template)
+* converting milestones/tickets/comments/labels
+* converting trac usernames to known GitHub usernames (those missing at time can [claim](https://help.github.com/en/articles/why-are-my-commits-linked-to-the-wrong-user) commits)
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
+=======
 * "operating system" trac label into the GitHub issue text itself (following the
   new issue reporting template)
 * converting milestones/tickets/comments/labels
 * converting trac usernames to known GitHub usernames (those missing at time can
   [claim](https://help.github.com/en/articles/why-are-my-commits-linked-to-the-wrong-user)
   commits)
+<<<<<<< HEAD
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 * setting assignees if possible; otherwise set new "grass-svn2git" an assignee
 
 **New labels in the GitHub issue tracker:**
@@ -245,6 +339,7 @@ Labels are preserved by transferring:
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 The trac component of the bug reports have been cleaned up following other OSGeo
 projects like GDAL and QGIS, leading to the following categories:
 =======
@@ -257,6 +352,13 @@ The trac component of the bug reports have been cleaned up following other OSGeo
 The trac component of the bug reports have been cleaned up following other OSGeo
 projects like GDAL and QGIS, leading to the following categories:
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+The trac component of the bug reports have been cleaned up following other OSGeo projects like GDAL and QGIS, leading to the following categories:
+=======
+The trac component of the bug reports have been cleaned up following other OSGeo
+projects like GDAL and QGIS, leading to the following categories:
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 * **Issue category**:
   * bug
@@ -284,8 +386,12 @@ projects like GDAL and QGIS, leading to the following categories:
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 Note that "normal" bugs reported will not carry a label in order to not overload
 the visual impact and readability.
+=======
+Note that "normal" bugs reported will not carry a label in order to not overload the visual impact and readability.
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ## Rules and best practices for using Git
 
@@ -317,6 +423,7 @@ practices for dealing with the following:
 <<<<<<< HEAD
 * A branch for every feature or bug fix in the main repo or is this done in the fork?
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
@@ -324,6 +431,23 @@ practices for dealing with the following:
 * A branch for every feature or bug fix in the main repo or is this done in the
   fork?
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+=======
+Note that "normal" bugs reported will not carry a label in order to not overload
+the visual impact and readability.
+
+## Rules and best practices for using Git
+
+Before the new Git repository is open for writing, we need to have rules and best
+practices for dealing with the following:
+
+* Policy for automatic merge commits due to un-synchronous nature of Git. Do we
+  want to avoid those by `git pull --rebase`?
+* How to do backports?
+* A branch for every feature or bug fix in the main repo or is this done in the
+  fork?
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 * _(add more)_
 
 ## Turning SVN/trac into readonly mode
@@ -331,6 +455,7 @@ practices for dealing with the following:
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
 As soon as the above listed repositories are stable and functional,
@@ -346,6 +471,15 @@ As soon as the above listed repositories are stable and functional, SVN/trac (>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+As soon as the above listed repositories are stable and functional, SVN/trac () at OSGeo will be set into readonly mode. They will serve as a reference for existing links and also for the aforementioned converted commit messages and issues in the issue tracker.
+=======
+As soon as the above listed repositories are stable and functional,
+SVN/trac () at OSGeo will be set into readonly
+mode. They will serve as a reference for existing links and also for the
+aforementioned converted commit messages and issues in the issue tracker.
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ## Open issues
 
@@ -357,6 +491,7 @@ As soon as the above listed repositories are stable and functional, SVN/trac (>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
+GitHub is a closed platform. In case it would be shutdown, closed or GitHub would start asking unreasonable fees, a backup strategy is needed.
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
+=======
 GitHub is a closed platform. In case it would be shutdown, closed or GitHub would
 start asking unreasonable fees, a backup strategy is needed.
 
+<<<<<<< HEAD
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 The proposed solution is
 
 * GitLab has an import module from GitHub.
@@ -381,6 +523,7 @@ The proposed solution is
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 
 
@@ -393,3 +536,10 @@ The proposed solution is
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+
+
+
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
diff --git a/doc/development/submitting/docs.md b/doc/development/submitting/docs.md
index c0dfa55d8f4..e9c16efcf3f 100644
--- a/doc/development/submitting/docs.md
+++ b/doc/development/submitting/docs.md
@@ -178,10 +178,14 @@ pages as raster images (i.e. PNGs) for portability but the original format
 Adding the image to the HTML page (r.viewshed example, the screenshot is shown
 with a width of 600 pixel but it is clickable in the manual page). If a larger
 <<<<<<< HEAD
+<<<<<<< HEAD
 image is displayed as shrunk, both **width** and **height** HTML parameters
 =======
 image is displayed as shrinked, both **width** and **height** HTML parameters
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+image is displayed as shrinked, both **width** and **height** HTML parameters
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 (values must be calculated according to the picture size!) should be set:
 
 ```html
diff --git a/doc/development/submitting/general.md b/doc/development/submitting/general.md
index 3a732f6dc7a..b1e39331c5c 100644
--- a/doc/development/submitting/general.md
+++ b/doc/development/submitting/general.md
@@ -147,6 +147,7 @@ available), and compilation of the whole source tree (ideally after the
 the original commit to "main". Also note that not all these steps have to be
 done manually, you can take an advantage of our [​CI](https://github.com/OSGeo/grass/actions).
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 Often there is more than one active release branch. You can also choose to backport
 only to the closest branch. If you are backporting to other release branches than
@@ -155,12 +156,17 @@ just the closets one, make sure you always backport to all the branches between
 have release branches 3.6 and 3.5, if you backport to 3.5, you should backport to
 3.6, too.
 =======
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 Often there is more than one active release branch, if you are backporting, make
 sure you always backport to all the branches between "main" and the furthest
 branch you are backporting to. For example, let's say we have "main" and branches
 8.2 and 7.8, if you backport to 8.2, you should also consider to backport to 7.8.
 You can also choose to backport only to the closest branch, in our example 8.2.
+<<<<<<< HEAD
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 Backport only complete fixes. When you are not sure if the fix is complete or if
 there is an possibility that some details such as wording will change, wait with
@@ -203,10 +209,14 @@ If you are unsure, please ask on the GRASS Developers list.
 If you need to add support for a different library in the 'configure' script, you
 should first seek consent in the grass-dev mailing list (see below), then you need
 <<<<<<< HEAD
+<<<<<<< HEAD
 to expand 'configure.ac' and subsequently run `autoconf-2.71` (later versions
 =======
 to expand 'configure.in' and run subsequently `autoconf-2.69` (later versions
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+to expand 'configure.in' and run subsequently `autoconf-2.69` (later versions
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 will not work) to re-generate 'configure'.
 
 ## Naming Conventions
diff --git a/doc/development/submitting/python.md b/doc/development/submitting/python.md
index a104e7d5a14..883de9a75ac 100644
--- a/doc/development/submitting/python.md
+++ b/doc/development/submitting/python.md
@@ -99,6 +99,7 @@ For example like this:
 flake8 --config lib/python/.flake8 lib/python/temporal/register.py
 ```
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 :exclamation:
 It is very convenient and recommended to [use pre-commit](./submitting.md#use-pre-commit)
@@ -106,16 +107,22 @@ to do both Black formatting and Flake8 file validation.
 
 =======
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 ### Editor settings for 4-space indentation
 
 The correct editor settings for Python indentation
 
 - [​Geany](https://www.geany.org/) editor:
+<<<<<<< HEAD
 <<<<<<< HEAD
   - Edit > Preferences > Editor > Indentation tab > Type: Spaces
 =======
   - Edit > Preferences > Editor > Intentation tab > Type: Spaces
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+  - Edit > Preferences > Editor > Intentation tab > Type: Spaces
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 - [​PyCharm](https://www.jetbrains.com/pycharm/) IDE:
   - already fine and includes code-linting
 - [​atom](https://atom.io/) IDE:
@@ -309,10 +316,14 @@ output. This is reserved for standard module output if it has one.
 
 To enable translating of messages to other languages (than English), use full
 <<<<<<< HEAD
+<<<<<<< HEAD
 strings, e.g. (good example):
 =======
 strings, e.g.
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+strings, e.g.
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ```py
 if ...:
@@ -321,11 +332,15 @@ else:
     win.SetLabel(_("Name for new raster map to create"))
 ```
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 instead of constructing string from several parts (bad example):
 =======
 instead of constructing string from several parts:
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+instead of constructing string from several parts:
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ```py
 if ...:
diff --git a/doc/development/submitting/submitting.md b/doc/development/submitting/submitting.md
index 6d61a08bc66..d50c33be6fa 100644
--- a/doc/development/submitting/submitting.md
+++ b/doc/development/submitting/submitting.md
@@ -19,6 +19,7 @@ Be sure to check your code against these rules:
 - [User message standardization](./message_standardization.md): formatting,
   standard phrases, i18N etc.
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 ### Use pre-commit
 
@@ -83,6 +84,8 @@ pre-commit install
 
 =======
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 ## GRASS GIS programming best practice
 
 There are many unwritten rules how GRASS modules should work, what they should
diff --git a/doc/development/submitting/submitting_c.md b/doc/development/submitting/submitting_c.md
index 9d9348b4484..ec963a562e6 100644
--- a/doc/development/submitting/submitting_c.md
+++ b/doc/development/submitting/submitting_c.md
@@ -162,11 +162,15 @@ first)
 Use function names which fulfill the official GNU naming convention:
 
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 Instead of naming a function like: MyNewFunction() use underscores for separation
 =======
 Instead of naming a function like: MyNewFunction() use underscores for seperation
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+Instead of naming a function like: MyNewFunction() use underscores for seperation
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 and lower case letters: my_new_function()`.
 
 ### Comments
@@ -265,6 +269,7 @@ sent to any of these functions will be printed to stderr.
 
 G_message() output is not expected to be sent to pipe or file.
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 Messages aiming at the user should be marked for translation. Output meant for
 automatic parsing by other software should not be marked for translation.
@@ -278,6 +283,9 @@ Afterwards mark all user visible strings with the gettext macro \_("message"):
 =======
 Always use the gettext macros with _("") for user messages, example:
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+Always use the gettext macros with _("") for user messages, example:
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ```c
 G_fatal_error(_("Vector map <%s> not found"), name);
@@ -286,24 +294,33 @@ G_fatal_error(_("Vector map <%s> not found"), name);
 It is suggested to add a comment line before translatable user message to give a
 hint to translators about meaning or use of cumbersome or obscure message. First
 <<<<<<< HEAD
+<<<<<<< HEAD
 word in the comment must be GTC: GRASS translation comment,
 =======
 word in the comment must be GTC - GRASS translation comment,
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+word in the comment must be GTC - GRASS translation comment,
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 Example:
 
 ```c
 <<<<<<< HEAD
+<<<<<<< HEAD
 /* GTC: Name of a projection */
 =======
 /* GTC A name of a projection */
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+/* GTC A name of a projection */
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 G_message(_("State Plane"));
 ```
 
 Any message with a noun in plural form has to pass `n_()` macro, even if for the
 <<<<<<< HEAD
+<<<<<<< HEAD
 English language is not required! The syntax is
 `n_("English singular", "English plural", count)`
 
@@ -326,6 +343,8 @@ G_message( n_("Remove map", "Remove maps", count));
 ```
 
 =======
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 English language it is not required!
 
 ```c
@@ -334,7 +353,10 @@ G_message(n_("One map", "%d maps", number), number);
 
 See [locale/README](../../../locale/README) for details.
 
+<<<<<<< HEAD
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 Pipe/file data output: For data output redirected to pipe or file, please use
 fprintf() and specify the stdout stream as follows:
 
@@ -392,6 +414,7 @@ Notes:
 
 These index manual pages are autogenerated during the build process of GRASS GIS.
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 ## Source Code Formatting
 
@@ -429,6 +452,8 @@ python -m pip install 'clang-format==15.0.6'
 GRASS_CLANG_FORMAT="clang-format-15" ./utils/grass_clang_format.sh
 ```
 =======
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 ## Indentation
 
 To promote a consistent coding style for whitespace (spaces, tabs, newlines),
@@ -455,7 +480,10 @@ script available in GRASS source code.
 
 See ​[GRASS Wiki](https://grasswiki.osgeo.org/wiki/Development#Explanation_of_C_indentation_rules)
 or `man indent` for explanation of individual switches.
+<<<<<<< HEAD
 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ## Compilation
 
diff --git a/doc/howto_release.md b/doc/howto_release.md
index bee0130ee0e..2c754f549bc 100644
--- a/doc/howto_release.md
+++ b/doc/howto_release.md
@@ -182,7 +182,12 @@ Modify the VERSION file use the dedicated script, for RC1, e.g.:
 ./utils/update_version.py rc 1
 ```
 
+<<<<<<< HEAD
 The script will compute the correct version string and print a message containing it into the terminal (e.g., "version: GRASS GIS 8.2.0RC1").
+=======
+The script will compute the correct version string and print a message
+containing it into the terminal (e.g., "version: GRASS GIS 8.2.0RC1").
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
 
 Commit with a commit message suggested by the script, e.g.:
 
@@ -191,7 +196,12 @@ git diff
 git commit include/VERSION -m "version: GRASS GIS 8.2.0RC1"
 ```
 
+<<<<<<< HEAD
 Check that there is exactly one commit on your local branch and that it is the version change:
+=======
+Check that there is exactly one commit on your local branch and that it is the
+version change:
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
 
 ```bash
 git status
@@ -384,7 +394,12 @@ so that you can continue in the release process.
 
 Generate a draft of release notes using a script. The script needs to be
 run from the top directory and will expect its configuration files
+<<<<<<< HEAD
 to be in the *utils* directory.
+=======
+<<<<<<< HEAD
+to be in the _utils_ directory.
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -419,9 +434,20 @@ python ./utils/generate_release_notes.py log releasebranch_8_4 8.4.0 $VERSION
 =======
 =======
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
+For major and minor releases, GitHub API gives good results for the first
+release candidate because it contains contributor handles and can identify
+<<<<<<< HEAD
+new contributors, so use with the *api* backend, e.g.:
+=======
+new contributors, so use with the _api_ backend, e.g.:
+=======
+to be in the *utils* directory.
+
 For major and minor releases, GitHub API gives good results for the first
 release candidate because it contains contributor handles and can identify
 new contributors, so use with the *api* backend, e.g.:
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ```bash
 python ./generate_release_notes.py api releasebranch_8_2 8.0.0 $VERSION
@@ -429,12 +455,21 @@ python ./generate_release_notes.py api releasebranch_8_2 8.0.0 $VERSION
 
 For micro releases, GitHub API does not give good results because it uses PRs
 while the backports are usually direct commits without PRs.
+<<<<<<< HEAD
 The *git log* command operates on commits, so use use the *log* backend:
+=======
+<<<<<<< HEAD
+The _git log_ command operates on commits, so use use the _log_ backend:
+=======
+The *git log* command operates on commits, so use use the *log* backend:
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ```bash
 python ./generate_release_notes.py log releasebranch_8_2 8.2.0 $VERSION
 ```
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
@@ -444,6 +479,12 @@ In between RCs and between last RC and final release, the _log_ backend is usefu
 =======
 In between RCs and between last RC and final release, the *log* backend is useful
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+In between RCs and between last RC and final release, the _log_ backend is useful
+=======
+In between RCs and between last RC and final release, the *log* backend is useful
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 for showing updates since the last RC:
 
 ```bash
@@ -458,10 +499,16 @@ python ./utils/generate_release_notes.py log releasebranch_8_4 8.4.0RC1 $VERSION
 python ./generate_release_notes.py log releasebranch_8_2 8.2.0RC1 $VERSION
 ```
 
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 =======
 python ./generate_release_notes.py log releasebranch_8_2 8.2.0RC1 $VERSION
 ```
+=======
+For the final release, the changes accumulated since the first RC need to be
+<<<<<<< HEAD
+added manually to the result from the _api_ backend.
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 For the final release, the changes accumulated since the first RC need to be
@@ -495,10 +542,16 @@ may need to be added showing critical fixes or breaking changes if there are any
 After the automated release job completes, a new release draft will be available in the GitHub
 web interface. You can copy-paste the created release notes to GitHub and further modify as needed.
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
+=======
+=======
+added manually to the result from the *api* backend.
+
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 The script sorts them into categories defined in *utils/release.yml*.
 However, these notes need to be manually edited to collapse related items into
 one. Additionally, a *Highlights* section needs to be added with manually
@@ -511,7 +564,11 @@ if there are any.
 After the automated release job completes, a new release draft will be available
 in the GitHub web interface. You can copy-paste the created release notes to
 GitHub and further modify as needed.
+<<<<<<< HEAD
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 Older release description may or may not be a good inspiration:
 .
@@ -551,6 +608,7 @@ After an RC, switch to development version:
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 After a final release, update to the next micro (x.y.Z), minor (x.Y.z),
 or major (X.y.y) version. E.g., for micro version, use:
 =======
@@ -565,12 +623,28 @@ version, e.g., for micro version, use:
 After a final release, switch to development version for the next micro, minor,
 or major version, e.g., for micro version, use:
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+After a final release, switch to development version for the next micro, minor, or major
+version, e.g., for micro version, use:
+=======
+After a final release, switch to development version for the next micro, minor,
+or major version, e.g., for micro version, use:
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ```bash
 ./utils/update_version.py micro
 ```
 
+<<<<<<< HEAD
 Use *major* and *minor* operations for the other version updates.
+=======
+<<<<<<< HEAD
+Use _major_ and _minor_ operations for the other version updates.
+=======
+Use *major* and *minor* operations for the other version updates.
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 Use `--help` for details about the options.
 
 <<<<<<< HEAD
@@ -623,6 +697,7 @@ git push upstream
 <<<<<<< HEAD
 This part requires extra permissions and needs to be done by one of the development coordinators.
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
@@ -630,6 +705,12 @@ This part requires extra permissions and needs to be done by one of the developm
 This part requires extra permissions and needs to be done by one of the
 development coordinators.
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+=======
+This part requires extra permissions and needs to be done by one of the
+development coordinators.
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ### Get the tagged version
 
@@ -681,6 +762,7 @@ linked to the tag:
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 wget https://github.com/OSGeo/grass/releases/download/${VERSION}/ChangeLog.gz \
     -O ChangeLog_${VERSION}.gz
 =======
@@ -693,6 +775,13 @@ wget https://github.com/OSGeo/grass/releases/download/${VERSION}/ChangeLog.gz -O
 wget https://github.com/OSGeo/grass/releases/download/${VERSION}/ChangeLog.gz \
     -O ChangeLog_${VERSION}.gz
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+wget https://github.com/OSGeo/grass/releases/download/${VERSION}/ChangeLog.gz -O ChangeLog_${VERSION}.gz
+=======
+wget https://github.com/OSGeo/grass/releases/download/${VERSION}/ChangeLog.gz \
+    -O ChangeLog_${VERSION}.gz
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 ```
 
 ### Get the source code tarball
@@ -733,6 +822,7 @@ ssh $USER@$SERVER1 "mkdir -p $SERVER1DIR"
 scp -p grass-$VERSION.* AUTHORS COPYING ChangeLog_$VERSION.gz \
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 <<<<<<< HEAD
   INSTALL.md REQUIREMENTS.md CONTRIBUTING.md $USER@$SERVER1:$SERVER1DIR
 
@@ -740,11 +830,22 @@ ssh $USER@$SERVER2 "mkdir -p $SERVER2DIR"
 scp -p grass-$VERSION.* AUTHORS COPYING ChangeLog_$VERSION.gz \
   INSTALL.md REQUIREMENTS.md CONTRIBUTING.md $USER@$SERVER2:$SERVER2DIR
 =======
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
   INSTALL.md REQUIREMENTS.html CONTRIBUTING.md $USER@$SERVER1:$SERVER1DIR
 
 scp -p grass-$VERSION.* AUTHORS COPYING ChangeLog_$VERSION.gz \
   INSTALL.md REQUIREMENTS.html CONTRIBUTING.md $USER@$SERVER2:$SERVER2DIR
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
+=======
+=======
+  INSTALL.md REQUIREMENTS.md CONTRIBUTING.md $USER@$SERVER1:$SERVER1DIR
+
+scp -p grass-$VERSION.* AUTHORS COPYING ChangeLog_$VERSION.gz \
+  INSTALL.md REQUIREMENTS.md CONTRIBUTING.md $USER@$SERVER2:$SERVER2DIR
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 =======
   INSTALL.md REQUIREMENTS.html CONTRIBUTING.md $USER@$SERVER1:$SERVER1DIR
@@ -834,15 +935,22 @@ Add the new version to repos which build or test addons:
 -  (currently, for new branches only)
 -  (add new release related line for new branches and final releases)
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
+=======
 - 
   (currently, for new branches only)
 - 
   (add new release related line for new branches and final releases)
+<<<<<<< HEAD
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ## Close milestone
 
@@ -901,6 +1009,7 @@ which Zenodo creates with a DOI for the published released.
 For final releases only, go to Zenodo a get a Markdown badge for the release
 which Zenodo creates with a DOI for the published released.
 
+<<<<<<< HEAD
 For all releases, click the Binder badge to get Binder to build. Use it to test
 it and to cache the built image. Add more links to (or badges for) more notebooks
 if there are any which show well specific features added or updated in the release.
@@ -926,10 +1035,17 @@ Software pages:
 - Wiki: 
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 <<<<<<< HEAD
 For all releases, click the Binder badge to get Binder to build. Use it to test it and
 to cache the built image. Add more links to (or badges for) more notebooks if there
 are any which show well specific features added or updated in the release.
+=======
+For all releases, click the Binder badge to get Binder to build. Use it to test
+it and to cache the built image. Add more links to (or badges for) more notebooks
+if there are any which show well specific features added or updated in the release.
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
 
 <<<<<<< HEAD
 ## Create entries for the new release
@@ -941,6 +1057,7 @@ Add entry in 
 ### Update Hugo web site to show new version
 
 For a (final) release (not release candidate), write announcement and publish it:
+<<<<<<< HEAD
 - News section, 
 
 Software pages:
@@ -949,13 +1066,27 @@ Software pages:
 - Mac: 
 - Releases: 
 - Wiki: 
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 
+=======
+=======
+
+- News section, 
+
+Software pages:
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 - Linux: 
 - Windows: 
 - Mac: 
 - Releases: 
+<<<<<<< HEAD
 - Website variables: 
+=======
+- Wiki: 
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 <<<<<<< HEAD
 Write announcement and publish it:
@@ -966,6 +1097,7 @@ Write announcement and publish it:
 =======
 ### Only in case of new major release
 
+<<<<<<< HEAD
 =======
 ### Only in case of new major release
 
@@ -978,6 +1110,15 @@ Write announcement and publish it:
 - update cronjob '[cron_grass8_main_src_snapshot.sh](https://github.com/OSGeo/grass-addons/tree/grass8/utils/cronjobs_osgeo_lxd/)'
   on grass.osgeo.org to next but one release tag for the differences
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+<<<<<<< HEAD
+- update cronjob '[cron_grass8_main_src_snapshot.sh](https://github.com/OSGeo/grass-addons/tree/grass8/utils/cronjobs_osgeo_lxd/)' on grass.osgeo.org to next
+  but one release tag for the differences
+=======
+- update cronjob '[cron_grass8_main_src_snapshot.sh](https://github.com/OSGeo/grass-addons/tree/grass8/utils/cronjobs_osgeo_lxd/)'
+  on grass.osgeo.org to next but one release tag for the differences
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 - wiki updates, only when new major release:
   - {{cmd|xxxx}} macro: 
   - update last version on main page
diff --git a/doc/infrastructure.md b/doc/infrastructure.md
index eeb0a50ecc5..16e8ace07d9 100644
--- a/doc/infrastructure.md
+++ b/doc/infrastructure.md
@@ -10,9 +10,15 @@ Last changed: July 2020
 Related Wiki documents:
 
 *  (historical document)
+<<<<<<< HEAD
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
+=======
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
@@ -83,8 +89,17 @@ Issues:
 
 Trac related notes:
 
+<<<<<<< HEAD
+* For easier linking in the Trac Wiki, some macro definitions are used for manual
+  page refs (G7:modulename)
+=======
+<<<<<<< HEAD
+* For easier linking in the Trac Wiki, some macro definitions are used for manual page refs (G7:modulename)
+=======
 * For easier linking in the Trac Wiki, some macro definitions are used for manual
   page refs (G7:modulename)
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
   * 
 * ZIP file download support in trac (was needed for g.extension) * on trac.osgeo.org:
 
@@ -98,9 +113,15 @@ Statistics:
 
 * 
 * 
+<<<<<<< HEAD
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
+=======
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
@@ -237,8 +258,13 @@ Maintainer: M. Neteler
   * ssh login: via jumphost hop.osgeo8.osgeo.org
   * deployment via cronjob: 
 *  (CMSMS, replaced in 2020 by above hugo based solution)
+<<<<<<< HEAD
   * Shared virtual OSGeo machine (osgeo6) hosted at Oregon State University Open Source Lab
   server: osgeo6.osgeo.osuosl.org)
+=======
+  * Shared virtual OSGeo machine (osgeo6) hosted at Oregon State University
+    Open Source Lab server: osgeo6.osgeo.osuosl.org)
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
   * Login: via OSGeo LDAP, there is a "grass" LDAP group
   * Software:
     * OS: Debian Wheezy
@@ -270,8 +296,17 @@ Maintainer: M. Neteler
 
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 * i18N translation statistics ()
+<<<<<<< HEAD
   * generated during compilation of Linux binary snapshot, stats of
     `(cd locale; make)` are extracted into text file
+=======
+<<<<<<< HEAD
+  * generated during compilation of Linux binary snapshot, stats of `(cd locale; make)` are extracted into text file
+=======
+  * generated during compilation of Linux binary snapshot, stats of
+    `(cd locale; make)` are extracted into text file
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
   * text file parsed by PHP page and shown as table
   * GRASS GIS version is coded in devel/i18n_stats.inc
   * for Transifex integration, see below
@@ -304,9 +339,15 @@ See 
 =======
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 * 
+<<<<<<< HEAD
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
+=======
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
@@ -348,6 +389,7 @@ Notes:
 
 =======
 * at OSGeo.org ():
+<<<<<<< HEAD
    grass-abm            Integration of GRASS with JAVA based agent based modeling (ABM)
    grass-announce GRASS announcements
    grass-commit         Mailing list to distribute GRASS-CVS commits
@@ -379,6 +421,7 @@ Notes:
   * moderated by M. Neteler to avoid spam
 <<<<<<< HEAD
 * OLD, UNUSED: grass-qa is receiving posts from the GRASS Quality Control System at Ecole Polytechnique de Montreal, Canada. Not open for other postings.
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 
 - grass-announce:
@@ -393,6 +436,41 @@ Notes:
 * OLD, UNUSED: grass-qa is receiving posts from the GRASS Quality Control System
   at Ecole Polytechnique de Montreal, Canada. Not open for other postings.
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+=======
+  * grass-abm           Integration of GRASS with JAVA based agent based modeling
+                        (ABM)
+  * grass-announce      GRASS announcements
+  * grass-commit        Mailing list to distribute GRASS-CVS commits
+  * grass-dev           GRASS GIS Development mailing list
+  * grass-es            La lista de correo de GRASS GIS en español
+  * grass-psc           GRASS-PSC: GRASS Project Steering Committee
+  * grass-stats         GRASS and statistical software
+  * grass-translations  Translation of GRASS (i18N)
+  * grass-user          GRASS user list
+  * grass-web           GRASS website mailing list
+
+* OLD, UNUSED: at FBK-irst ():
+  * grass-commit-addons  Mailing list to distribute GRASS Addons-SVN commits
+  * grass-gui            GRASSGUI mailing list
+  * grass-qa             GRASS Quality Assessment and monitoring list
+  * grass-windows        winGRASS * Using GRASS on MS-Windows systems mailing list
+
+Notes:
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+
+* grass-announce:
+  * moderated by M. Neteler
+  * has monthly password reminder disabled to avoid leakage into publicly
+    archived lists
+* grass-commit is receiving posts from the GRASS SVN at osgeo.org. Not open for
+  other postings, they will be trashed automatically
+* grass-web is an open list (posting without subscription possible) with (Google)
+  spam filter
+  * moderated by M. Neteler to avoid spam
+* OLD, UNUSED: grass-qa is receiving posts from the GRASS Quality Control System
+  at Ecole Polytechnique de Montreal, Canada. Not open for other postings.
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ## GRASS Wiki
 
@@ -412,6 +490,7 @@ Maintainer: Martin Landa, Markus Neteler
 * requires registration to keep spammers out
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 Summary: The system should run almost autonomous. An eye must be be kept
 on people trying to spam the site. Several layers of registration protection
@@ -445,6 +524,16 @@ trying to spam the site
 Macros for manual pages (src, cmd, API, ...):
 
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+Summary: The system should run almost autonomous. An eye must be be kept on people
+trying to spam the site
+
+Macros for manual pages (src, cmd, API, ...):
+<<<<<<< HEAD
+=======
+
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 * 
 
 ## GRASS IRC
@@ -488,7 +577,14 @@ Old bugtracker (Jan 2008 - Jan 2020):
 * Settings:
 
 Old tracsvn (OSGeo server) (Dec 2007 * Mai 2019)
+<<<<<<< HEAD
 
+=======
+<<<<<<< HEAD
+=======
+
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 ```text
 /var/www/trac/env/grass/conf/trac.ini
   downloadable_paths = /grass-addons/grass7/*/*,/sandbox/*/*
@@ -511,13 +607,25 @@ Very old bugtracker (Jan 2007 * Dec 2008):
 * needs `noreply*wald.intevation.org` to be enabled as alias in Mailman
 
 Very very old bugtracker (Dec 2000 * Dec 2006):
+<<<<<<< HEAD
 
+* 
+* webRT, sponsored by Intevation GmbH, Germany
+* spamassasin spamfilter locally, bogofilter at grass-dev list
+* reports are directly sent to GRASS Developers mailing list for notification
+* TODO: migrate to trac
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+
+<<<<<<< HEAD
+=======
 * 
 * webRT, sponsored by Intevation GmbH, Germany
 * spamassasin spamfilter locally, bogofilter at grass-dev list
 * reports are directly sent to GRASS Developers mailing list for notification
 * TODO: migrate to trac
 
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 ## GRASS Addons
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 
@@ -556,6 +664,7 @@ The redirect to the latest grassX directory is defined on grass.osgeo.org:
 Procedure building of binaries (Windows):
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 
 - Addons module are compiled on winGRASS build server, at the CTU in Prague) and
   publishing their manual pages on publishing server, i.e. grass.osgeo.org.
@@ -588,6 +697,33 @@ XML file for g.extension: 
 * Logs:
   * Linux log files:    (compiled on
     `grasslxd` on `osgeo7`)
+=======
+
+* Addons module are compiled on build server, currently at the CTU in Prague) and
+  publishing their manual pages on publishing server, i.e. grass.osgeo.org.
+* A new compilation is triggered everytime when a commit is done in the Addons-SVN.
+* Logs:
+<<<<<<< HEAD
+  * Linux log files:    (compiled on `grasslxd` on `osgeo7`)
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
+  * Windows log files: 
+
+Procedure of granting write access to Addons repo:
+
+* Request procedure: 
+* Adding OSGeo-ID:   
+* Adding contributor: 
+  (via SVN commit)
+* Confirm request in grass-psc and give instructions concerning code style etc
+  (see archive for examples)
+
+XML file for g.extension: 
+<<<<<<< HEAD
+
+=======
+=======
+  * Linux log files:    (compiled on
+    `grasslxd` on `osgeo7`)
   * Windows log files: 
 
 Procedure of granting write access to Addons repo:
@@ -601,6 +737,8 @@ Procedure of granting write access to Addons repo:
 
 XML file for g.extension: 
 
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 * generated in grass-addons/utils/addons/grass-addons-publish.sh
 <<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
@@ -630,16 +768,26 @@ Travis CI control files:
    linux.script.sh
 
 Maintenance script:
+<<<<<<< HEAD
+
+=======
+<<<<<<< HEAD
+=======
 
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 * 
 
 The github update is run as a cronjob on server "geo102" (CTU, CZ).
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 ## GRASS CI: GitHub Actions
 
 Started in Apr. 2020
@@ -680,9 +828,12 @@ Helper files placed in .github/workflows/
   * Configurations ignore different lists of Flake8 errors. The idea is to reduce that to minimum.
   * Code in testsuite directories is also ignored for now, but should not be in the future.
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 =======
   * A build job which is not parallelized and is meant for clear & relatively fast
     check of compilation and building in general. (Duplicating what is running
@@ -697,10 +848,15 @@ Helper files placed in .github/workflows/
     that to minimum.
   * Code in testsuite directories is also ignored for now, but should not be in
     the future.
+<<<<<<< HEAD
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ## GRASS docker images
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 Maintainer: Carmen Tawalika, Vaclav Petras + OSGeo-SAC
 
@@ -740,6 +896,8 @@ Explanations: 
 
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 ## GRASS Coverity Scan
 
 Maintainer: Markus Neteler
@@ -750,6 +908,7 @@ Coverity Scan is a service to find security issues. At time the service
 is used only occasionally.
 =======
 * 
+<<<<<<< HEAD
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 =======
 * 
@@ -757,6 +916,12 @@ is used only occasionally.
 
 <<<<<<< HEAD
 - 
+=======
+<<<<<<< HEAD
+
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 ## User message translation management (i18N)
 =======
@@ -778,10 +943,16 @@ Translations may be done using the OSGeo Weblate platform:
       * Use: "Auto update resources" button
 * Weblate: 
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 
 <<<<<<< HEAD
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
+=======
+
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
 =======
@@ -844,6 +1015,7 @@ Source Lab (OSUOSL), Oregon, USA
 Numerous institutions have sponsored the GRASS Project with Hardware/Bandwidth
 (list of master site hosting):
 
+<<<<<<< HEAD
 <<<<<<< HEAD
 - 1997-1999: Institut fuer Landschaftspflege und Naturschutz (ILN), Universitaet
   Hannover, Germany
@@ -853,6 +1025,8 @@ Numerous institutions have sponsored the GRASS Project with Hardware/Bandwidth
 - 2009-2010: Telascience.org at San Diego Supercomputer Center, California, USA
 - 2010-today: Oregon State University | Open Source Lab, USA
 =======
+=======
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 * 1997-1999: Institut fuer Landschaftspflege und Naturschutz (ILN), Universitaet
   Hannover, Germany
 * 1999-2001: Institut fuer Physische Geographie und Landschaftsoekologie,
diff --git a/doc/notebooks/README.md b/doc/notebooks/README.md
index 819560814c2..03c971993b5 100644
--- a/doc/notebooks/README.md
+++ b/doc/notebooks/README.md
@@ -7,6 +7,7 @@
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 Clone this repository with `git clone` first. Then, locally start the Jupyter
 notebook server from the command line in the `doc/notebooks/` directory containing
 the `*.ipynb` files with:
@@ -19,10 +20,18 @@ Clone this repository with `git clone` first. Then, locally start the Jupyter no
 server from the command line in the `doc/notebooks/` directory containing the `*.ipynb` files with:
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
+Clone this repository with `git clone` first. Then, locally start the Jupyter notebook
+server from the command line in the `doc/notebooks/` directory containing the `*.ipynb` files with:
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
+=======
 Clone this repository with `git clone` first. Then, locally start the Jupyter
 notebook server from the command line in the `doc/notebooks/` directory containing
 the `*.ipynb` files with:
+<<<<<<< HEAD
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
 `jupyter notebook`
 
 This will open a new browser tab or window with a list of the contents of the current
@@ -45,6 +54,7 @@ See also the official documentation for [The Jupyter Notebook](https://jupyter-n
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 
 >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
@@ -53,3 +63,8 @@ See also the official documentation for [The Jupyter Notebook](https://jupyter-n
 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
 =======
 >>>>>>> 498a331298 (Fix missing function prototypes (#2727))
+=======
+
+=======
+>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
+>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
diff --git a/doc/projectionintro.html b/doc/projectionintro.html
index 2553f72f57f..41a510e5b1d 100644
--- a/doc/projectionintro.html
+++ b/doc/projectionintro.html
@@ -27,7 +27,10 @@ 

Raster map transformation

To transform an unprojected map from a XY location into a projected location (or another XY location), a forward transformation is performed. The unreferenced map is geocoded within the XY location by defining +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) four corner points or by seeking several ground control points (i.group, i.target, g.gui.gcp) and then transformed into the @@ -53,6 +56,7 @@

Vector map transformation

To transform an unprojected map (e.g. CAD map) into projected coordinates, a forward transformation is performed. The unreferenced map is imported <<<<<<< HEAD +<<<<<<< HEAD into the project with projection and geocoded within this project by defining four corner points or by seeking several ground control points. These points are stored into an ASCII file and then transformed within @@ -61,6 +65,11 @@

Vector map transformation

into the location with projection and geocoded within this location by defining four corner points or by seeking several ground control points. These points are stored into an ASCII file and then transformed within +======= +into the location with projection and geocoded within this location by +defining four corner points or by seeking several ground control points. +These points are stored into an ASCII file and then transformed within +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) the same location (v.transform). >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) diff --git a/docker/README.md b/docker/README.md index cfa4aa0f483..63a316b05b2 100644 --- a/docker/README.md +++ b/docker/README.md @@ -1,4 +1,5 @@ # GRASS GIS docker +<<<<<<< HEAD ## GRASS GIS docker matrix <<<<<<< HEAD @@ -57,6 +58,37 @@ and ) To install a docker image, run (replace `` with the desired Docker tag from the table above): +======= + +## GRASS GIS docker matrix + +[![Docker Pulls](https://img.shields.io/docker/pulls/mundialis/grass-py3-pdal.svg)](https://grass.osgeo.org/download/software/docker-images/) + + +| Base image | Docker tag | GRASS GIS | PROJ | GDAL | PDAL | Python | Image size | +|--------------|---------------|------------|-------|-------|-------|--------|------------| +| Ubuntu 22.04 | latest-ubuntu | 8.3.dev | 8.2.1 | 3.4.1 | 2.4.3 | 3.10.6 | 2.89 GB | +| Debian 11 | latest-debian | 8.3.dev | 7.2.1 | 3.2.2 | 2.4.3 | 3.9.2 | 2.93 GB | +| Alpine 3.12 | latest-alpine | 8.3.dev | 7.0.1 | 3.1.4 | 2.1.0 | 3.8.10 | 186 MB | +|--------------|---------------|------------|-------|-------|-------|--------|------------| +| Ubuntu 22.04 | stable-ubuntu | 8.2 branch | 8.2.1 | 3.4.1 | 2.4.3 | 3.10.6 | 2.89 GB | +| Debian 11 | stable-debian | 8.2 branch | 7.2.1 | 3.2.2 | 2.4.3 | 3.9.2 | 2.93 GB | +| Alpine 3.12 | stable-alpine | 8.2 branch | 7.0.1 | 3.1.4 | 2.1.0 | 3.8.10 | 186 MB | + + +Last update: 22 Jan 2023 (source: +and ) + +## Requirements + +* docker or podman + +## Installation + +To install a docker image, run (replace `` with the desired Docker tag from +the table above): + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) ```bash docker pull mundialis/grass-py3-pdal: ``` diff --git a/docker/alpine/Dockerfile b/docker/alpine/Dockerfile index 83bc7a387a6..9aa8b6db3a2 100644 --- a/docker/alpine/Dockerfile +++ b/docker/alpine/Dockerfile @@ -505,6 +505,13 @@ RUN ln -sf /usr/local/grass $(grass --config path); \ SHELL="/bin/bash" ENV PROJ_NETWORK="ON" +<<<<<<< HEAD +======= +<<<<<<< HEAD + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # show installed version RUN grass --tmp-location XY --exec g.version -rge && \ pdal --version && \ @@ -523,6 +530,14 @@ COPY docker/testdata/simple.laz /tmp/simple.laz RUN grass --tmp-location EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g +<<<<<<< HEAD +======= +# test r.in.pdal in final image because test stage is not executed in github action +COPY docker/testdata/simple.laz /tmp/simple.laz +RUN grass --tmp-location EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g + + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) # Data workdir WORKDIR /grassdb VOLUME /grassdb diff --git a/docker/debian/Dockerfile b/docker/debian/Dockerfile index 9f1cf51aaa5..f3955062e8b 100644 --- a/docker/debian/Dockerfile +++ b/docker/debian/Dockerfile @@ -1,12 +1,15 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD FROM debian:bookworm-20240612-slim@sha256:67f3931ad8cb1967beec602d8c0506af1e37e8d73c2a0b38b181ec5d8560d395 ======= ======= >>>>>>> 3ab4f90615 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> ab7a7d8f0a (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 17e5fe5619 (r.horizon manual - fix typo (#2794)) <<<<<<< HEAD FROM debian:stable@sha256:82f8da149d6d567c74564cccd6f355fb5ade42a958e4cde10a1100eaeb24d42e ======= @@ -14,6 +17,8 @@ FROM debian:stable@sha256:82f8da149d6d567c74564cccd6f355fb5ade42a958e4cde10a1100 >>>>>>> 67fc38245a (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> e77ca8abf8 (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 5d3bd35e0a (r.horizon manual - fix typo (#2794)) <<<<<<< HEAD FROM debian:stable@sha256:84725fb1debbf461f54a23030be0bcde8449f2fa4eba8adf857b1a4c707fec8d >>>>>>> 5c730e3bfc (wxpyimgview: explicit conversion to int (#2704)) @@ -28,12 +33,19 @@ FROM debian:10.1 FROM debian:10.1 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +FROM debian:10.1 +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= FROM debian:stable # currently Debian 11 # docker run -it --rm debian:stable bash # apt-get update && apt-get install lsb-release -y && lsb_release -a +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) LABEL authors="Carmen Tawalika,Markus Neteler,Anika Weinmann" LABEL maintainer="tawalika@mundialis.de,neteler@mundialis.de,weinmann@mundialis.de" @@ -43,6 +55,7 @@ ENV DEBIAN_FRONTEND noninteractive <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD # define versions to be used (PDAL is not available on Debian, so we compile it here) # https://github.com/PDAL/PDAL/releases <<<<<<< HEAD @@ -56,12 +69,15 @@ ARG PDAL_VERSION=2.5.5 ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # define versions to be used ARG PDAL_VERSION=1.8.0 ARG PROJ_VERSION=5.2.0 ARG PROJ_DATUMGRID_VERSION=1.8 ARG LAZ_PERF_VERSION=1.3.0 <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) <<<<<<< HEAD >>>>>>> 12b43eb397 (wxpyimgview: explicit conversion to int (#2704)) @@ -78,12 +94,24 @@ ARG LAZ_PERF_VERSION=1.3.0 ======= ======= ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= # define versions to be used (PDAL is not available on Debian, so we compile it here) # https://github.com/PDAL/PDAL/releases ARG PDAL_VERSION=2.4.3 +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +<<<<<<< HEAD >>>>>>> ab7a7d8f0a (r.horizon manual - fix typo (#2794)) +<<<<<<< HEAD >>>>>>> b2351aab26 (r.horizon manual - fix typo (#2794)) +======= +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +>>>>>>> 17e5fe5619 (r.horizon manual - fix typo (#2794)) +>>>>>>> 5247cc90df (r.horizon manual - fix typo (#2794)) SHELL ["/bin/bash", "-c"] @@ -140,6 +168,7 @@ RUN apt-get update && apt-get upgrade -y && \ libpq-dev \ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD libproj-dev \ ======= @@ -149,6 +178,11 @@ RUN apt-get update && apt-get upgrade -y && \ ======= libproj-dev \ >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= + libproj-dev \ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) libpython3-all-dev \ libsqlite3-dev \ libtiff-dev \ @@ -161,6 +195,7 @@ RUN apt-get update && apt-get upgrade -y && \ netcdf-bin \ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD proj-bin \ proj-data \ @@ -181,7 +216,16 @@ RUN apt-get update && apt-get upgrade -y && \ proj-bin \ proj-data \ >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +<<<<<<< HEAD >>>>>>> ab7a7d8f0a (r.horizon manual - fix typo (#2794)) +======= +======= +======= + proj-bin \ + proj-data \ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +>>>>>>> 17e5fe5619 (r.horizon manual - fix typo (#2794)) python3 \ python3-dateutil \ python3-dev \ @@ -216,9 +260,12 @@ RUN echo en_US.UTF-8 UTF-8 >> /etc/locale.gen && locale-gen <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ## install a more recent projection library for GRASS GIS WORKDIR /src RUN wget -q http://download.osgeo.org/proj/proj-${PROJ_VERSION}.tar.gz && \ @@ -244,12 +291,17 @@ RUN wget -q https://github.com/hobu/laz-perf/archive/${LAZ_PERF_VERSION}.tar.gz make && \ make install +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ## fetch vertical datums for PDAL and store into PROJ dir WORKDIR /src RUN mkdir vdatum && \ @@ -269,6 +321,7 @@ RUN mkdir vdatum && \ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ## compile and install PDAL (not available on Debian/Ubuntu) with laz-perf enabled ======= ## install pdal @@ -279,6 +332,12 @@ RUN mkdir vdatum && \ ======= ## compile and install PDAL (not available on Debian/Ubuntu) with laz-perf enabled >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +## install pdal +======= +## compile and install PDAL (not available on Debian/Ubuntu) with laz-perf enabled +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ENV NUMTHREADS=4 WORKDIR /src RUN wget -q \ @@ -303,6 +362,7 @@ RUN wget -q \ -DBUILD_PLUGIN_ICEBRIDGE=ON \ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD -DBUILD_PLUGIN_PGPOINTCLOUD=OFF \ -DBUILD_PGPOINTCLOUD_TESTS=OFF \ @@ -311,20 +371,29 @@ RUN wget -q \ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) -DBUILD_PLUGIN_PGPOINTCLOUD=ON \ -DBUILD_PGPOINTCLOUD_TESTS=OFF \ -DBUILD_PLUGIN_SQLITE=ON \ -DWITH_LASZIP=ON \ <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= -DBUILD_PLUGIN_PGPOINTCLOUD=OFF \ -DBUILD_PGPOINTCLOUD_TESTS=OFF \ -DBUILD_PLUGIN_SQLITE=ON \ -DWITH_LASZIP=OFF \ +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) -DWITH_LAZPERF=ON \ -DWITH_TESTS=ON && \ make -j $NUMTHREADS && \ @@ -337,6 +406,7 @@ WORKDIR /src/grass_build <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD # Cleanup potentially leftover GISRC file with wrong path to "demolocation" RUN rm -f /src/grass_build/dist.*/demolocation/.grassrc* ======= @@ -347,6 +417,12 @@ RUN rm -f /src/grass_build/dist.*/demolocation/.grassrc* # Cleanup potentially leftover GISRC file with wrong path to "demolocation" RUN rm -f /src/grass_build/dist.*/demolocation/.grassrc* >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +# Cleanup potentially leftover GISRC file with wrong path to "demolocation" +RUN rm -f /src/grass_build/dist.*/demolocation/.grassrc* +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # Set environmental variables for GRASS GIS compilation, without debug symbols # Set gcc/g++ environmental variables for GRASS GIS compilation, without debug symbols @@ -493,7 +569,11 @@ RUN grass --tmp-location EPSG:4326 --exec g.extension extension=r.in.pdal >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # add GRASS GIS envs for python usage ENV GISBASE "/usr/local/grass/" ENV GRASSBIN "/usr/local/bin/grass" @@ -519,6 +599,7 @@ RUN grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" outp <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD:docker/debian/Dockerfile <<<<<<< HEAD:docker/debian/Dockerfile ======= @@ -552,7 +633,17 @@ RUN grass --tmp-location EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" out ======= RUN grass --tmp-location EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +<<<<<<< HEAD >>>>>>> 95125e7509 (Fix missing function prototypes (#2727)) +======= +======= +RUN grass --tmp-location EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -s +======= +# test LAZ file +RUN grass --tmp-location EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +>>>>>>> 17e5fe5619 (r.horizon manual - fix typo (#2794)) WORKDIR /grassdb VOLUME /grassdb diff --git a/docker/ubuntu/Dockerfile b/docker/ubuntu/Dockerfile index dfb79b5b8eb..9fded33056a 100644 --- a/docker/ubuntu/Dockerfile +++ b/docker/ubuntu/Dockerfile @@ -45,15 +45,28 @@ ENV DEBIAN_FRONTEND noninteractive <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # define versions to be used ======= # define versions to be used (PDAL is not available on Ubuntu/Debian, so we compile it here) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) # https://github.com/PDAL/PDAL/releases ARG PDAL_VERSION=2.4.3 +<<<<<<< HEAD +======= +# https://github.com/hobuinc/laz-perf/releases +ARG LAZ_PERF_VERSION=3.2.0 +======= +# define versions to be used (PDAL is not available on Ubuntu/Debian, so we compile it here) +# https://github.com/PDAL/PDAL/releases +ARG PDAL_VERSION=2.4.3 +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -392,6 +405,24 @@ WORKDIR /src/grass_build RUN echo LANG="en_US.UTF-8" > /etc/default/locale RUN echo en_US.UTF-8 UTF-8 >> /etc/locale.gen && locale-gen +<<<<<<< HEAD +======= +<<<<<<< HEAD +## install laz-perf (missing from https://packages.ubuntu.com/) +RUN apt-get install cmake +WORKDIR /src +RUN wget -q https://github.com/hobu/laz-perf/archive/${LAZ_PERF_VERSION}.tar.gz -O laz-perf-${LAZ_PERF_VERSION}.tar.gz && \ + tar -zxf laz-perf-${LAZ_PERF_VERSION}.tar.gz && \ + cd laz-perf-${LAZ_PERF_VERSION} && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ## fetch vertical datums for PDAL and store into PROJ dir WORKDIR /src RUN mkdir vdatum && \ @@ -408,7 +439,15 @@ RUN mkdir vdatum && \ cd .. && \ rm -rf vdatum +<<<<<<< HEAD +## compile and install PDAL (not available on Debian/Ubuntu) with laz-perf enabled +======= +<<<<<<< HEAD +## install pdal +======= ## compile and install PDAL (not available on Debian/Ubuntu) with laz-perf enabled +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ENV NUMTHREADS=4 WORKDIR /src RUN wget -q \ @@ -431,10 +470,24 @@ RUN wget -q \ -DHEXER_INCLUDE_DIR=/usr/include/ \ -DBUILD_PLUGIN_NITF=OFF \ -DBUILD_PLUGIN_ICEBRIDGE=ON \ +<<<<<<< HEAD -DBUILD_PLUGIN_PGPOINTCLOUD=OFF \ -DBUILD_PGPOINTCLOUD_TESTS=OFF \ -DBUILD_PLUGIN_SQLITE=ON \ -DWITH_LASZIP=OFF \ +======= +<<<<<<< HEAD + -DBUILD_PLUGIN_PGPOINTCLOUD=ON \ + -DBUILD_PGPOINTCLOUD_TESTS=OFF \ + -DBUILD_PLUGIN_SQLITE=ON \ + -DWITH_LASZIP=ON \ +======= + -DBUILD_PLUGIN_PGPOINTCLOUD=OFF \ + -DBUILD_PGPOINTCLOUD_TESTS=OFF \ + -DBUILD_PLUGIN_SQLITE=ON \ + -DWITH_LASZIP=OFF \ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) -DWITH_LAZPERF=ON \ -DWITH_TESTS=ON && \ make -j $NUMTHREADS && \ @@ -618,6 +671,15 @@ WORKDIR /scripts # install external GRASS GIS session Python API RUN pip3 install grass-session +<<<<<<< HEAD +======= +<<<<<<< HEAD +# install GRASS GIS extensions +RUN grass --tmp-location EPSG:4326 --exec g.extension extension=r.in.pdal + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # add GRASS GIS envs for python usage ENV GISBASE "/usr/local/grass/" ENV GRASSBIN "/usr/local/bin/grass" @@ -631,8 +693,17 @@ COPY docker/testdata/test_grass_session.py . ## just scan the LAZ file # Not yet ready for GRASS GIS 8: #RUN /usr/bin/python3 /scripts/test_grass_session.py +<<<<<<< HEAD +# test LAZ file +RUN grass --tmp-location EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g +======= +<<<<<<< HEAD +RUN grass --tmp-location EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -s +======= # test LAZ file RUN grass --tmp-location EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) WORKDIR /grassdb VOLUME /grassdb diff --git a/docker/ubuntu_wxgui/Dockerfile b/docker/ubuntu_wxgui/Dockerfile index efc7a344506..19b97812618 100644 --- a/docker/ubuntu_wxgui/Dockerfile +++ b/docker/ubuntu_wxgui/Dockerfile @@ -1,9 +1,14 @@ <<<<<<< HEAD +<<<<<<< HEAD FROM ubuntu:22.04@sha256:340d9b015b194dc6e2a13938944e0d016e57b9679963fdeb9ce021daac430221 ======= +======= +>>>>>>> 5247cc90df (r.horizon manual - fix typo (#2794)) <<<<<<< HEAD FROM ubuntu:22.04@sha256:19478ce7fc2ffbce89df29fea5725a8d12e57de52eb9ea570890dc5852aac1ac ======= +======= +>>>>>>> 17e5fe5619 (r.horizon manual - fix typo (#2794)) <<<<<<< HEAD FROM ubuntu:22.04@sha256:a6d2b38300ce017add71440577d5b0a90460d0e57fd7aec21dd0d1b0761bbfb2 >>>>>>> 95125e7509 (Fix missing function prototypes (#2727)) @@ -23,10 +28,16 @@ FROM ubuntu:22.04 LABEL authors="Carmen Tawalika,Markus Neteler,Anika Weinmann,Tomas Zigo" >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +FROM ubuntu:22.04 + +LABEL authors="Carmen Tawalika,Markus Neteler,Anika Weinmann,Tomas Zigo" +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) LABEL maintainer="tawalika@mundialis.de,neteler@mundialis.de,weinmann@mundialis.de" ENV DEBIAN_FRONTEND noninteractive +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD # define versions to be used (PDAL is not available on Ubuntu/Debian, so we compile it here) @@ -51,7 +62,15 @@ ARG LAZ_PERF_VERSION=3.2.0 # https://github.com/PDAL/PDAL/releases ARG PDAL_VERSION=2.4.3 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +<<<<<<< HEAD >>>>>>> ab7a7d8f0a (r.horizon manual - fix typo (#2794)) +======= +======= +# define versions to be used (PDAL is not available on Ubuntu/Debian, so we compile it here) +# https://github.com/PDAL/PDAL/releases +ARG PDAL_VERSION=2.4.3 +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +>>>>>>> 17e5fe5619 (r.horizon manual - fix typo (#2794)) SHELL ["/bin/bash", "-c"] @@ -102,6 +121,7 @@ RUN apt-get update && apt-get upgrade -y && \ libnetcdf-dev \ libncurses5-dev \ <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD:docker/ubuntu_wxgui/Dockerfile <<<<<<< HEAD:docker/ubuntu_wxgui/Dockerfile libnotify4 \ @@ -112,6 +132,9 @@ RUN apt-get update && apt-get upgrade -y && \ ======= libnotify4 \ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + libnotify4 \ +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) libopenblas-base \ libopenblas-dev \ libopenjp2-7 \ @@ -153,12 +176,16 @@ RUN apt-get update && apt-get upgrade -y && \ vim \ wget \ zip \ +<<<<<<< HEAD <<<<<<< HEAD zlib1g-dev \ && apt-get clean all && rm -rf /var/lib/apt/lists/* ======= zlib1g-dev >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + zlib1g-dev +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # wxGUI RUN pip install -U \ @@ -173,6 +200,7 @@ ENV NO_AT_BRIDGE=1 RUN echo LANG="en_US.UTF-8" > /etc/default/locale RUN echo en_US.UTF-8 UTF-8 >> /etc/locale.gen && locale-gen +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD:docker/ubuntu_wxgui/Dockerfile @@ -222,6 +250,8 @@ RUN wget -q https://github.com/hobu/laz-perf/archive/${LAZ_PERF_VERSION}.tar.gz >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ## fetch vertical datums for PDAL and store into PROJ dir WORKDIR /src RUN mkdir vdatum && \ @@ -238,6 +268,7 @@ RUN mkdir vdatum && \ cd .. && \ rm -rf vdatum +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD ## compile and install PDAL (not available on Debian/Ubuntu) with laz-perf enabled @@ -247,6 +278,9 @@ RUN mkdir vdatum && \ ======= ## compile and install PDAL (not available on Debian/Ubuntu) with laz-perf enabled >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +## compile and install PDAL (not available on Debian/Ubuntu) with laz-perf enabled +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ENV NUMTHREADS=4 WORKDIR /src RUN wget -q \ @@ -271,10 +305,14 @@ RUN wget -q \ -DBUILD_PLUGIN_ICEBRIDGE=ON \ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) -DBUILD_PLUGIN_PGPOINTCLOUD=OFF \ -DBUILD_PGPOINTCLOUD_TESTS=OFF \ -DBUILD_PLUGIN_SQLITE=ON \ -DWITH_LASZIP=OFF \ +<<<<<<< HEAD ======= -DBUILD_PLUGIN_PGPOINTCLOUD=ON \ -DBUILD_PGPOINTCLOUD_TESTS=OFF \ @@ -287,6 +325,8 @@ RUN wget -q \ -DBUILD_PLUGIN_SQLITE=ON \ -DWITH_LASZIP=OFF \ >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) -DWITH_LAZPERF=ON \ -DWITH_TESTS=ON && \ make -j $NUMTHREADS && \ @@ -355,6 +395,7 @@ ENV SHELL /bin/bash ENV LC_ALL "en_US.UTF-8" ENV GRASS_SKIP_MAPSET_OWNER_CHECK 1 +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD:docker/ubuntu_wxgui/Dockerfile <<<<<<< HEAD:docker/ubuntu_wxgui/Dockerfile @@ -402,7 +443,14 @@ RUN ln -sf /usr/local/grass80 /usr/local/grass # Create generic GRASS GIS lib name regardless of version number RUN ln -sf /usr/local/grass83 /usr/local/grass >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +<<<<<<< HEAD >>>>>>> 95125e7509 (Fix missing function prototypes (#2727)) +======= +======= +# Create generic GRASS GIS lib name regardless of version number +RUN ln -sf /usr/local/grass83 /usr/local/grass +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +>>>>>>> 17e5fe5619 (r.horizon manual - fix typo (#2794)) # show GRASS GIS, PROJ, GDAL etc versions RUN grass --tmp-project EPSG:4326 --exec g.version -rge && \ @@ -439,6 +487,7 @@ RUN grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" outp #RUN /usr/bin/python3 /scripts/test_grass_session.py <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD:docker/ubuntu_wxgui/Dockerfile <<<<<<< HEAD:docker/ubuntu_wxgui/Dockerfile ======= @@ -460,7 +509,14 @@ RUN grass --tmp-location EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" out ======= RUN grass --tmp-location EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +<<<<<<< HEAD >>>>>>> 95125e7509 (Fix missing function prototypes (#2727)) +======= +======= +# test LAZ file +RUN grass --tmp-location EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +>>>>>>> 17e5fe5619 (r.horizon manual - fix typo (#2794)) WORKDIR /grassdb VOLUME /grassdb diff --git a/general/g.findfile/local_proto.h b/general/g.findfile/local_proto.h index 2e86ee2b87c..1492c44e792 100644 --- a/general/g.findfile/local_proto.h +++ b/general/g.findfile/local_proto.h @@ -1,6 +1,7 @@ /* element.c */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void list_elements(void); /* int check_element(const char *); */ ======= @@ -8,6 +9,12 @@ void list_elements(); ======= void list_elements(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void list_elements(); +======= +void list_elements(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int check_element(const char *); <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) diff --git a/general/g.gisenv/g.gisenv.html b/general/g.gisenv/g.gisenv.html index dd0d89a8175..5a823bb67b1 100644 --- a/general/g.gisenv/g.gisenv.html +++ b/general/g.gisenv/g.gisenv.html @@ -158,10 +158,16 @@

NOTES

after the current GRASS session is closed. <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

GRASS Debugging

To print debugging messages, the variable DEBUG must be set to level diff --git a/general/g.mkfontcap/g.mkfontcap.html b/general/g.mkfontcap/g.mkfontcap.html index 435403ae9fa..1e65f47e8ea 100644 --- a/general/g.mkfontcap/g.mkfontcap.html +++ b/general/g.mkfontcap/g.mkfontcap.html @@ -48,6 +48,7 @@

SEE ALSO

<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -57,6 +58,12 @@

SEE ALSO

======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) d.font diff --git a/general/g.proj/g.proj.html b/general/g.proj/g.proj.html index 563cd866674..6a7313abac5 100644 --- a/general/g.proj/g.proj.html +++ b/general/g.proj/g.proj.html @@ -12,6 +12,7 @@

DESCRIPTION

functionality is limited to:
    <<<<<<< HEAD +<<<<<<< HEAD
  • Reporting the CRS information for the current project (previously called location), either in conventional GRASS (-p flag) or PROJ (-j flag) format
  • @@ -29,6 +30,11 @@

    DESCRIPTION

  • Reporting the projection information for the current location, either in conventional GRASS (-p flag) or PROJ (-j flag) format
  • Changing the datum, or reporting and modifying the datum transformation +======= +
  • Reporting the projection information for the current location, +either in conventional GRASS (-p flag) or PROJ (-j flag) format
  • +
  • Changing the datum, or reporting and modifying the datum transformation +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) parameters, for the current location
@@ -55,10 +61,14 @@

DESCRIPTION

proj4=description or -
<<<<<<< HEAD +<<<<<<< HEAD
description should be a CRS description in =======
description should be a projection description in >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +
description should be a projection description in +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) PROJ format, enclosed in quotation marks if there are any spaces. If - is given for description, the PROJ description will be read from stdin rather @@ -92,11 +102,14 @@

DESCRIPTION

In addition however, if the -c flag is specified, g.proj will <<<<<<< HEAD +<<<<<<< HEAD create new GRASS CRS files (PROJ_INFO, PROJ_UNITS, WIND and DEFAULT_WIND) based on the imported information. If the project parameter is specified in addition to -c, then a new project will be created. Otherwise the CRS information files in the current project will be ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) create new GRASS projection files (PROJ_INFO, PROJ_UNITS, WIND and DEFAULT_WIND) based on the imported information. If the location parameter is specified in addition to -c, then a new location will be created. @@ -120,10 +133,14 @@

NOTES

human-readable) format and exit.
0 (default): Continue without specifying parameters - if <<<<<<< HEAD +<<<<<<< HEAD used when creating a project, other GRASS modules will use the "default" ======= used when creating a location, other GRASS modules will use the "default" >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +used when creating a location, other GRASS modules will use the "default" +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) (likely non-optimum) parameters for this datum if necessary in the future.
Any other number less than or equal to the number of parameter sets available for this datum: Choose this parameter set and add it to the @@ -134,11 +151,15 @@

NOTES

input co-ordinate system. This can be useful to change the datum information for an existing project. +<<<<<<< HEAD <<<<<<< HEAD

Output is simply based on the input CRS information. g.proj does =======

Output is simply based on the input projection information. g.proj does >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +

Output is simply based on the input projection information. g.proj does +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) not attempt to verify that the co-ordinate system thus described matches an existing system in use in the world. In particular, this means there are no EPSG Authority codes in the WKT output. @@ -272,6 +293,7 @@

SEE ALSO

<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -281,6 +303,12 @@

SEE ALSO

======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) m.proj, r.proj, diff --git a/general/g.region/printwindow.c b/general/g.region/printwindow.c index 3d657124480..fe4b6e0c45f 100644 --- a/general/g.region/printwindow.c +++ b/general/g.region/printwindow.c @@ -720,6 +720,7 @@ void print_window(struct Cell_head *window, int print_flag, int flat_flag) if (G_projection() == PROJECTION_XY) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD convergence = NAN; ======= @@ -731,6 +732,12 @@ void print_window(struct Cell_head *window, int print_flag, int flat_flag) ======= convergence = NAN; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + convergence = 0. / 0.; +======= + convergence = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) else if (G_projection() == PROJECTION_LL) convergence = 0.0; else { diff --git a/general/g.setproj/g.setproj.html b/general/g.setproj/g.setproj.html index 357f8cd3423..22035a22606 100644 --- a/general/g.setproj/g.setproj.html +++ b/general/g.setproj/g.setproj.html @@ -26,12 +26,17 @@

DESCRIPTION

Allows a user to create a PROJ_INFO file in the PERMANENT mapset of the <<<<<<< HEAD +<<<<<<< HEAD current project. PROJ_INFO file is used to record the CRS information associated with the specified project. ======= current location. PROJ_INFO file is used to record the projection information associated with the specified mapset. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +current location. PROJ_INFO file is used to record the projection information +associated with the specified mapset. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

NOTES

@@ -65,6 +70,7 @@

NOTES

<<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The projections of aea, lcc, merc, leae, leac, and tmerc will generate a request to the user for the prime meridian and standard parallel for the output map. @@ -77,10 +83,19 @@

NOTES

======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +The projections of aea, lcc, merc, leae, leac, and +tmerc will generate a request to the user for the prime meridian and standard +parallel for the output map. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= The projections of aea, lcc, merc, leae, leac, and tmerc will generate a request to the user for the prime meridian and standard parallel for the output map. +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

SEE ALSO

diff --git a/grasslib.dox b/grasslib.dox index a9b699a89c1..15b1f31767e 100644 --- a/grasslib.dox +++ b/grasslib.dox @@ -224,9 +224,12 @@ href="https://grass.osgeo.org">https://grass.osgeo.org \subsection misclibs Miscellaneous Libraries - datetime: \ref datetime (DateTime library) +<<<<<<< HEAD <<<<<<< HEAD - external: \ref external (External libraries from other projects such as shapelib, parson and \ref ccmathlib) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) - external: \ref external (External libraries from other projects such as shapelib and \ref ccmathlib) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) - fonts: \ref fonts (GRASS fonts library) diff --git a/gui/wxpython/docs/wxGUI.nviz.html b/gui/wxpython/docs/wxGUI.nviz.html index 52a06a36945..2841f4587bf 100644 --- a/gui/wxpython/docs/wxGUI.nviz.html +++ b/gui/wxpython/docs/wxGUI.nviz.html @@ -440,6 +440,7 @@

AUTHORS

with contributions by Terrance McGhee. <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= <<<<<<< HEAD @@ -448,3 +449,8 @@

AUTHORS

>>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/gui/wxpython/gui_core/goutput.py b/gui/wxpython/gui_core/goutput.py index cb730f9f906..5428837f08d 100644 --- a/gui/wxpython/gui_core/goutput.py +++ b/gui/wxpython/gui_core/goutput.py @@ -44,10 +44,14 @@ from core.globalvar import CheckWxVersion, wxPythonPhoenix from gui_core.prompt import GPromptSTC <<<<<<< HEAD +<<<<<<< HEAD from gui_core.wrap import Button, ClearButton, StaticText ======= from gui_core.wrap import Button, ClearButton, StaticText, StaticBox >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= +from gui_core.wrap import Button, ClearButton, StaticText, StaticBox +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) from core.settings import UserSettings @@ -147,12 +151,15 @@ def __init__( self.btnOutputSave.SetToolTip(_("Save output to a file")) self.btnCmdAbort = Button(parent=self.panelProgress, id=wx.ID_STOP) self.btnCmdAbort.SetToolTip(_("Abort running command")) +<<<<<<< HEAD <<<<<<< HEAD self.btnClear.Bind(wx.EVT_BUTTON, self.OnClear) self.btnOutputSave.Bind(wx.EVT_BUTTON, self.OnOutputSave) self.btnCmdAbort.Bind(wx.EVT_BUTTON, self._gconsole.OnCmdAbort) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) self.btnCmdExportHistory = Button(parent=self.panelOutput, id=wx.ID_ANY) self.btnCmdExportHistory.SetLabel(_("&Export history")) self.btnCmdExportHistory.SetToolTip( @@ -168,7 +175,10 @@ def __init__( self.btnOutputSave.Bind(wx.EVT_BUTTON, self.OnOutputSave) self.btnCmdAbort.Bind(wx.EVT_BUTTON, self._gconsole.OnCmdAbort) self.btnCmdExportHistory.Bind(wx.EVT_BUTTON, self.OnCmdExportHistory) +<<<<<<< HEAD >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) self._layout() @@ -458,7 +468,10 @@ def OnCmdProgress(self, event): event.Skip() <<<<<<< HEAD +<<<<<<< HEAD +======= ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) def OnCmdExportHistory(self, event): """Export the history of executed commands stored in a .wxgui_history file to a selected file.""" diff --git a/gui/wxpython/gui_core/prompt.py b/gui/wxpython/gui_core/prompt.py index 35a2a4b5a1d..86730dfde68 100644 --- a/gui/wxpython/gui_core/prompt.py +++ b/gui/wxpython/gui_core/prompt.py @@ -223,6 +223,7 @@ def __init__(self, parent, giface, menuModel, margin=False): # show hint self._showHint() +<<<<<<< HEAD <<<<<<< HEAD # read history file self._loadHistory() @@ -234,6 +235,8 @@ def __init__(self, parent, giface, menuModel, margin=False): ) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # # bindings # @@ -361,11 +364,15 @@ def OnKillFocus(self, event): self.AutoCompCancel() # show hint if self.IsEmpty(): +<<<<<<< HEAD <<<<<<< HEAD wx.CallAfter(self._showHint) ======= self._showHint() >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + self._showHint() +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) event.Skip() def OnSetFocus(self, event): diff --git a/gui/wxpython/image2target/g.gui.image2target.html b/gui/wxpython/image2target/g.gui.image2target.html index 1024f255268..9dadd3e618d 100644 --- a/gui/wxpython/image2target/g.gui.image2target.html +++ b/gui/wxpython/image2target/g.gui.image2target.html @@ -313,6 +313,7 @@

AUTHORS

Martin Landa, Czech Technical University in Prague, Czech Republic <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= <<<<<<< HEAD @@ -321,3 +322,8 @@

AUTHORS

>>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/gui/wxpython/psmap/g.gui.psmap.html b/gui/wxpython/psmap/g.gui.psmap.html index 3b90ca6b136..6193e6010e7 100644 --- a/gui/wxpython/psmap/g.gui.psmap.html +++ b/gui/wxpython/psmap/g.gui.psmap.html @@ -203,6 +203,7 @@

CARTOGRAPHIC COMPOSER TOOLBAR

=======
Generates hardcopy map output in PDF using ps2pdf.
+<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) @@ -211,6 +212,13 @@

CARTOGRAPHIC COMPOSER TOOLBAR

>>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +<<<<<<< HEAD +======= + + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

SEE ALSO

diff --git a/gui/wxpython/rlisetup/g.gui.rlisetup.html b/gui/wxpython/rlisetup/g.gui.rlisetup.html index b4555da4bda..e439dd86d9e 100644 --- a/gui/wxpython/rlisetup/g.gui.rlisetup.html +++ b/gui/wxpython/rlisetup/g.gui.rlisetup.html @@ -56,6 +56,7 @@

Usage details

  • View/Edit (Load a file) from the shown list: the configuration is shown in a small text editor window. + Configuration files are saved in the folder + C:\Users\userxy\AppData\Roaming\GRASS8\r.li\ (MS-Windows) or + $HOME/.r.li/ (GNU/Linux) (the file name can be + defined by the user). The output or an analysis can either be a new raster +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) map (in case of using a "moving window" analysis) or be an ASCII text file (when not performing a "moving window" analysis) containing the result. Such text file will be saved in the folder C:\Users\userxy\AppData\Roaming\GRASS8\r.li\output\ +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) (MS-Windows) or $HOME/.grass8/r.li/output/ (GNU/Linux).
    diff --git a/gui/wxpython/vdigit/g.gui.vdigit.html b/gui/wxpython/vdigit/g.gui.vdigit.html index 17693a2d2aa..9b02eec9c17 100644 --- a/gui/wxpython/vdigit/g.gui.vdigit.html +++ b/gui/wxpython/vdigit/g.gui.vdigit.html @@ -88,6 +88,7 @@

    DIGITIZER TOOLBAR

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -97,6 +98,12 @@

    DIGITIZER TOOLBAR

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
    icon  Digitize new line
    Add new line to vector map and optionally define its @@ -109,6 +116,7 @@

    DIGITIZER TOOLBAR

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -118,6 +126,12 @@

    DIGITIZER TOOLBAR

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
    icon  Digitize new centroid
    Add new centroid to vector map and optionally define its @@ -130,6 +144,7 @@

    DIGITIZER TOOLBAR

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -139,6 +154,12 @@

    DIGITIZER TOOLBAR

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
    icon  Move vertex
    Move selected vertex of linear feature. Thus shape of linear diff --git a/imagery/i.albedo/i.albedo.html b/imagery/i.albedo/i.albedo.html index 7ebd4e4311c..ea9449ae37b 100644 --- a/imagery/i.albedo/i.albedo.html +++ b/imagery/i.albedo/i.albedo.html @@ -18,6 +18,7 @@

    EXAMPLE

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The following example creates the raster map "albedo_lsat7_1987" from the ======= ======= @@ -27,6 +28,12 @@

    EXAMPLE

    ======= The following example creates the raster map "albedo_lsat7_1987" from the >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +The following example creates the raster map "albedo_lsat7_1987" from the +======= +The following example creates the raster map "albedo_lsat7_1987" from the +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) LANDSAT-TM5 bands in the North Carolina dataset:
     g.region raster=lsat5_1987_10 -p
    diff --git a/imagery/i.atcorr/create_iwave.py b/imagery/i.atcorr/create_iwave.py
    index 74baf57e5be..4d37c36aecd 100644
    --- a/imagery/i.atcorr/create_iwave.py
    +++ b/imagery/i.atcorr/create_iwave.py
    @@ -28,7 +28,10 @@
     =======
        1) function interpolate_band was not generating the spectral response for the last value in the filter function. Fixed
        2) function pretty_print was not printing the 8th value of every line, cutting the filter function short.
    +<<<<<<< HEAD
     >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
    +=======
    +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
     
     """
     import os
    diff --git a/imagery/i.atcorr/i.atcorr.html b/imagery/i.atcorr/i.atcorr.html
    index ee586608884..ea0eb8a84fb 100644
    --- a/imagery/i.atcorr/i.atcorr.html
    +++ b/imagery/i.atcorr/i.atcorr.html
    @@ -811,8 +811,11 @@ 

    EXAMPLES

    Atmospheric correction of a Sentinel-2 band

    This example illustrates how to perform atmospheric correction of a <<<<<<< HEAD +<<<<<<< HEAD Sentinel-2 scene in the North Carolina project. ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Sentinel-2 scene in the North Carolina location. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) @@ -821,10 +824,14 @@

    Atmospheric correction of a Sentinel-2 band

    was downloaded and imported with region cropping (see r.import) <<<<<<< HEAD +<<<<<<< HEAD into the PERMANENT mapset of the North Carolina project. The ======= into the PERMANENT mapset of the North Carolina location. The >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +into the PERMANENT mapset of the North Carolina location. The +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) computational region was set to the extent of the elevation map in the North Carolina dataset. Now, we have 13 individual bands (B01-B12) that we want to apply the atmospheric correction to. @@ -1184,6 +1191,7 @@

    AUTHORS


    Markus Neteler, mundialis.de, Germany <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD

    AVIRIS/Hyperion addition 11/2023: @@ -1194,3 +1202,7 @@

    AUTHORS

    >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/imagery/i.biomass/i.biomass.html b/imagery/i.biomass/i.biomass.html index cc1478e86ba..ab1b8c2d70a 100644 --- a/imagery/i.biomass/i.biomass.html +++ b/imagery/i.biomass/i.biomass.html @@ -27,6 +27,7 @@

    REFERENCES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD

    [1] Bastiaanssen, W.G.M., Ali, S., 2002. A new crop yield forecasting model based on satellite measurements applied across the Indus Basin, Pakistan. Agriculture, Ecosystems and Environment, @@ -37,6 +38,8 @@

    REFERENCES

    ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    [1] Bastiaanssen, W.G.M., Ali, S., 2002. A new crop yield forecasting model based on satellite measurements applied across the Indus Basin, Pakistan. Agriculture, Ecosystems and Environment, @@ -45,10 +48,13 @@

    REFERENCES

    [2] Chemin, Y., Platonov, A., Abdullaev, I., Ul-Hassan, M. 2005. Supplementing farm level water productivity assessment by remote <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +=======

    [1] Bastiaanssen, W.G.M., Ali, S., 2002. A new crop yield forecasting model based on satellite measurements applied across the Indus Basin, Pakistan. Agriculture, Ecosystems and Environment, @@ -56,7 +62,11 @@

    REFERENCES

    [2] Chemin, Y., Platonov, A., Abdullaev, I., Ul-Hassan, M. 2005. Supplementing farm level water productivity assessment by remote +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) sensing in transition economies. Water International. 30(4):513-521.

    SEE ALSO

    diff --git a/imagery/i.cca/i.cca.html b/imagery/i.cca/i.cca.html index 971965d6773..bc6026d77af 100644 --- a/imagery/i.cca/i.cca.html +++ b/imagery/i.cca/i.cca.html @@ -114,7 +114,14 @@

    AUTHORS

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +Ali R. Vali, +======= +Ali R. Vali, +======= Ali R. Vali, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) University of Texas
    Semantic label support: Maris Nartiss, diff --git a/imagery/i.eb.netrad/i.eb.netrad.html b/imagery/i.eb.netrad/i.eb.netrad.html index 8c50d546b01..6a1e1fd3b04 100644 --- a/imagery/i.eb.netrad/i.eb.netrad.html +++ b/imagery/i.eb.netrad/i.eb.netrad.html @@ -27,6 +27,7 @@

    REFERENCES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD
  • Bastiaanssen, W.G.M., 1995. Regionalization of surface flux densities and moisture indicators in composite terrain; a remote sensing approach under clear skies in mediterranean climates. PhD @@ -38,6 +39,8 @@

    REFERENCES

    ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
  • Bastiaanssen, W.G.M., 1995. Regionalization of surface flux densities and moisture indicators in composite terrain; a remote sensing approach under clear skies in mediterranean climates. PhD @@ -47,10 +50,13 @@

    REFERENCES

  • Chemin, Y., 2012. A Distributed Benchmarking Framework for Actual ET Models, <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +=======
  • Bastiaanssen, W.G.M., 1995. Regionalization of surface flux densities and moisture indicators in composite terrain; a remote sensing approach under clear skies in mediterranean climates. PhD @@ -59,7 +65,11 @@

    REFERENCES

  • Chemin, Y., 2012. A Distributed Benchmarking Framework for Actual ET Models, +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) in: Irmak, A. (Ed.), Evapotranspiration - Remote Sensing and Modeling. InTech. (PDF)
  • diff --git a/imagery/i.eb.soilheatflux/i.eb.soilheatflux.html b/imagery/i.eb.soilheatflux/i.eb.soilheatflux.html index 2ffaee5bd10..119f6c9d0ec 100644 --- a/imagery/i.eb.soilheatflux/i.eb.soilheatflux.html +++ b/imagery/i.eb.soilheatflux/i.eb.soilheatflux.html @@ -40,8 +40,12 @@

    REFERENCES

    Bastiaanssen, W.G.M., 1995. <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD Estimation of Land surface parameters by remote sensing under clear-sky +======= + Estimation of Land surface parameters by remote sensing under clear-sky +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) conditions. PhD thesis, Wageningen University, Wageningen, The Netherlands. (PDF) @@ -74,11 +78,30 @@

    REFERENCES

    <<<<<<< HEAD

    Chemin, Y., 2012. A Distributed Benchmarking Framework for Actual ET Models, +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) =======

    Chemin, Y., 2012. A Distributed Benchmarking Framework for Actual ET Models, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= + Estimation of Land surface parameters by remote sensing under clear-sky + conditions. PhD thesis, Wageningen University, Wageningen, The Netherlands. + (PDF) + +

    Chemin Y., Alexandridis T.A., 2001. Improving spatial resolution of ET seasonal + for irrigated rice in Zhanghe, China. Asian Journal of Geoinformatics. 5(1):3-11,2004. + +

    Alexandridis T.K., Cherif I., Chemin Y., Silleos N.G., Stavrinos E., +Zalidis G.C. Integrated methodology for estimating water use in Mediterranean +agricultural areas. Remote Sensing. 2009, 1, 445-465. +(PDF) + +

    Chemin, Y., 2012. +A Distributed Benchmarking Framework for Actual ET Models, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) in: Irmak, A. (Ed.), Evapotranspiration - Remote Sensing and Modeling. InTech. (PDF) diff --git a/imagery/i.evapo.mh/i.evapo.mh.html b/imagery/i.evapo.mh/i.evapo.mh.html index d694112d3c9..00ee1f843e8 100644 --- a/imagery/i.evapo.mh/i.evapo.mh.html +++ b/imagery/i.evapo.mh/i.evapo.mh.html @@ -5,6 +5,7 @@

    DESCRIPTION

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Hargreaves version found in Droogers and Allen (2002). ======= Hargreaves version found in Droogers and Allen (2002). @@ -15,6 +16,12 @@

    DESCRIPTION

    ======= Hargreaves version found in Droogers and Allen (2002). >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Hargreaves version found in Droogers and Allen (2002). +======= +Hargreaves version found in Droogers and Allen (2002). +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    REFERENCES

    diff --git a/imagery/i.evapo.pm/i.evapo.pm.html b/imagery/i.evapo.pm/i.evapo.pm.html index cc96a13b3c2..71d295251dd 100644 --- a/imagery/i.evapo.pm/i.evapo.pm.html +++ b/imagery/i.evapo.pm/i.evapo.pm.html @@ -50,6 +50,7 @@

    REFERENCES

    <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD

    [2] Allen, R.G., L.S. Pereira, D. Raes, and M. Smith. 1998. Crop Evapotranspiration: Guidelines for computing crop water requirements. @@ -60,6 +61,8 @@

    REFERENCES

    ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    [2] Allen, R.G., L.S. Pereira, D. Raes, and M. Smith. 1998. Crop Evapotranspiration: Guidelines for computing crop water requirements. Irrigation and Drainage Paper 56, Food and Agriculture Organization of the @@ -67,9 +70,12 @@

    REFERENCES

    [3] Penman, H. L. 1948. Natural evaporation from open water, <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) =======

    [2] Allen, R.G., L.S. Pereira, D. Raes, and M. Smith. 1998. Crop Evapotranspiration: Guidelines for computing crop water requirements. @@ -77,7 +83,11 @@

    REFERENCES

    United Nations, Rome, pp. 300

    [3] Penman, H. L. 1948. Natural evaporation from open water, +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) bare soil and grass. Proc. Roy. Soc. London, A193, pp. 120-146.

    SEE ALSO

    @@ -98,6 +108,7 @@

    AUTHORS

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -107,6 +118,12 @@

    AUTHORS

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    Original version of program: The HydroFOSS project, 2006, IST-SUPSI. (http://istgis.ist.supsi.ch:8001/geomatica/index.php?id=1)
    Massimiliano Cannata, Scuola Universitaria Professionale della Svizzera Italiana - Istituto Scienze della Terra diff --git a/imagery/i.gensig/eigen.c b/imagery/i.gensig/eigen.c index fd0180d2d42..b1c48e10daf 100644 --- a/imagery/i.gensig/eigen.c +++ b/imagery/i.gensig/eigen.c @@ -3,6 +3,7 @@ #include <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD double **matrix(int, int, int, int), *vector(int, int); ======= double **matrix(), *vector(); @@ -13,6 +14,12 @@ double **matrix(), *vector(); ======= double **matrix(int, int, int, int), *vector(int, int); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +double **matrix(), *vector(); +======= +double **matrix(int, int, int, int), *vector(int, int); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Computes eigenvalues (and eigen vectors if desired) for * * symmetric matices. */ diff --git a/imagery/i.gensig/i.gensig.html b/imagery/i.gensig/i.gensig.html index a1cb10ac018..276fb3a5817 100644 --- a/imagery/i.gensig/i.gensig.html +++ b/imagery/i.gensig/i.gensig.html @@ -136,6 +136,7 @@

    NOTES

    3 Semantic_label1 4 #water 5 4186 +<<<<<<< HEAD 6 67.9508 48.7346 37.8915 15.3129 13.8473 12.0855 7 1.74334 8 0.439504 2.07267 @@ -156,6 +157,9 @@

    NOTES

    4 #water 5 4186 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +<<<<<<< HEAD +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) 6 67.9508 48.7346 37.8915 15.3129 13.8473 12.0855 7 1.74334 8 0.439504 2.07267 @@ -164,11 +168,23 @@

    NOTES

    11 0.561184 2.30762 5.18846 20.5364 20.4926 12 0.393218 1.2184 2.63628 9.61528 9.36025 5.85314 <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 268d757b7d (ci: Ignore paths in CodeQL (#1778)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= + 6 67.9508 48.7346 37.8915 15.3129 13.8473 12.0855 + 7 1.74334 + 8 0.439504 2.07267 + 9 0.662523 1.63501 4.21189 +10 0.530339 2.40757 5.52857 22.433 +11 0.561184 2.30762 5.18846 20.5364 20.4926 +12 0.393218 1.2184 2.63628 9.61528 9.36025 5.85314 +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
      diff --git a/imagery/i.ifft/i.ifft.html b/imagery/i.ifft/i.ifft.html index 5859c137955..a1a4dfa186e 100644 --- a/imagery/i.ifft/i.ifft.html +++ b/imagery/i.ifft/i.ifft.html @@ -22,6 +22,9 @@

      NOTES

      REFERENCES

      <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
      • M. Frigo and S. G. Johnson (1998): "FFTW: An Adaptive Software @@ -78,10 +81,41 @@

        SEE ALSO

        <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= + +
          +
        • M. Frigo and S. G. Johnson (1998): "FFTW: An Adaptive Software +Architecture for the FFT". See www.fftw.org: +FFTW is a C subroutine library for computing the Discrete Fourier +Transform (DFT) in one or more dimensions, of both real and complex +data, and of arbitrary input size.
        • +
        • Richards, J.A (1986): Remote Sensing Digital Image +Analysis, Springer-Verlag, 1986.
        • +
        • Personal communication, between program author and Ali R. Vali, +Space Research Center, University of Texas, Austin, 1990.
        • +
        + +

        SEE ALSO

        + + +i.cca, +g.gui.iclass, +i.fft, +i.pca, +r.circle, +wxGUI vector digitizer + + + + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

        AUTHORS

        David Satnik, GIS Laboratory, diff --git a/imagery/i.landsat.toar/i.landsat.toar.html b/imagery/i.landsat.toar/i.landsat.toar.html index 3d6e6731648..da40d81aacd 100644 --- a/imagery/i.landsat.toar/i.landsat.toar.html +++ b/imagery/i.landsat.toar/i.landsat.toar.html @@ -28,6 +28,7 @@

        DESCRIPTION

        <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) Attention: This module does not respect the current @@ -40,6 +41,8 @@

        DESCRIPTION

        ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Attention: This module does not respect the current region settings, in order to have the largest possible sample of pixels from where to get the darkest one of the scene and perform the DOS @@ -47,11 +50,22 @@

        DESCRIPTION

        advised to clip the results (with r.clip, for instance) or to define the region first, import the images with region <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +Attention: This module does not respect the current +region settings, in order to have the largest possible sample of pixels +from where to get the darkest one of the scene and perform the DOS +correction. To limit the results to a custom region, the user is +advised to clip the results (with r.clip, for +instance) or to define the region first, import the images with region +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) cropping, and then running the module.

        Uncorrected at-sensor values (method=uncorrected, default)

        diff --git a/imagery/i.modis.qc/i.modis.qc.html b/imagery/i.modis.qc/i.modis.qc.html index 32f5fe774d8..32cac6b054f 100644 --- a/imagery/i.modis.qc/i.modis.qc.html +++ b/imagery/i.modis.qc/i.modis.qc.html @@ -517,6 +517,7 @@

        REFERENCES

      • MODIS Products <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD
      • Vermote E.F., Kotchenova S.Y., Ray J.P. MODIS Surface Reflectance User's Guide. =======
      • Vermote E.F., Kotchenova S.Y., Ray J.P. MODIS Surface Reflectance User's Guide. @@ -524,6 +525,12 @@

        REFERENCES

        =======
      • Vermote E.F., Kotchenova S.Y., Ray J.P. MODIS Surface Reflectance User's Guide. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +
      • Vermote E.F., Kotchenova S.Y., Ray J.P. MODIS Surface Reflectance User's Guide. +======= +
      • Vermote E.F., Kotchenova S.Y., Ray J.P. MODIS Surface Reflectance User's Guide. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Version 1.2. June 2008. MODIS Land Surface Reflectance Science Computing Facility. Homepage
      @@ -531,8 +538,11 @@

      REFERENCES

      SEE ALSO

      <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) i.vi @@ -541,6 +551,9 @@

      SEE ALSO

      AUTHOR

      <<<<<<< HEAD +<<<<<<< HEAD +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= @@ -549,7 +562,11 @@

      AUTHOR

      AUTHOR

      +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Yann Chemin diff --git a/imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html b/imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html index 4acddb34d72..00029d913f5 100644 --- a/imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html +++ b/imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html @@ -93,6 +93,7 @@

      DESCRIPTION

  • <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The input display is repeated until the number of MAXIMUM FIDUCIALS is reached. ======= @@ -106,6 +107,14 @@

    DESCRIPTION

    The input display is repeated until the number of MAXIMUM FIDUCIALS is reached. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +The input display is repeated until the number of MAXIMUM FIDUCIALS +is reached. +======= +The input display is repeated until the number of MAXIMUM FIDUCIALS +is reached. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    SEE ALSO

    diff --git a/imagery/i.ortho.photo/i.ortho.photo/i.ortho.photo.html b/imagery/i.ortho.photo/i.ortho.photo/i.ortho.photo.html index efc1227d7df..0cc674c22ec 100644 --- a/imagery/i.ortho.photo/i.ortho.photo/i.ortho.photo.html +++ b/imagery/i.ortho.photo/i.ortho.photo/i.ortho.photo.html @@ -78,11 +78,14 @@

    EXAMPLE

    by running the corresponding modules.

    <<<<<<< HEAD +<<<<<<< HEAD The aerial photos shall be stored in a source project - a general Cartesian coordinate system (XY). Digital elevation model and a map reference (topo sheet or other map used for ground control point matching) shall be stored in a target project in a real-world coordinate system ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) The aerial photos shall be stored in a source location - a general Cartesian coordinate system (XY). Digital elevation model and a map reference (topo sheet or other map used for ground control point matching) shall @@ -96,10 +99,14 @@

    EXAMPLE

    i.group

    <<<<<<< HEAD +<<<<<<< HEAD This step is to be run in the source project. ======= This step is to be run in the source location. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +This step is to be run in the source location. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    In this first step an imagery group of aerial images for ortho-rectification is created or modified. The current imagery group is displayed at the top @@ -141,10 +148,14 @@

    EXAMPLE

    This step is to be run in the source project.

    <<<<<<< HEAD +<<<<<<< HEAD Step 3 allows you to select the raster map from the target project to be ======= Step 3 allows you to select the raster map from the target location to be >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Step 3 allows you to select the raster map from the target location to be +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) used as the elevation model. The elevation model is required for both the computation of photo-to-target parameters (Step 6) and for the ortho-rectification of the imagery group files (Step 8). @@ -236,10 +247,14 @@

    EXAMPLE

    i.ortho.init

    <<<<<<< HEAD +<<<<<<< HEAD This step is to be run in the source project. ======= This step is to be run in the source location. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +This step is to be run in the source location. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    In Step 6, initial camera exposure station parameters and initial variances may be selected or modified. @@ -250,7 +265,10 @@

    EXAMPLE

  • Z: Flight height above surface;
  • =======
  • Z: Flight heigh above surface;
  • +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
  • Omega (pitch): Raising or lowering of the aircraft's front (turning around the wings' axis);
  • Phi (roll): Raising or lowering of the wings (turning @@ -354,6 +372,7 @@

    REFERENCES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Wolf P.R. (1983). Elements of Photogrammetry: With Air Photo ======= ======= @@ -363,6 +382,12 @@

    REFERENCES

    ======= Wolf P.R. (1983). Elements of Photogrammetry: With Air Photo >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Wolf P.R. (1983). Elements of Photogrammetry: With Air Photo +======= +Wolf P.R. (1983). Elements of Photogrammetry: With Air Photo +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Interpretation and Remote Sensing McGraw Hill Higher Education ISBN-10: 0070713456, ISBN-13: 978-0070713451
    diff --git a/imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html b/imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html index a26c484cf70..a2c52df0da2 100644 --- a/imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html +++ b/imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html @@ -58,8 +58,11 @@

    Interactive mode

    After that you are asked if overwriting existing maps in the target <<<<<<< HEAD +<<<<<<< HEAD project and mapset should be allowed. ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) location and mapset should be allowed. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))

    diff --git a/imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html b/imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html index d2809d5a7f4..540040abfde 100644 --- a/imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html +++ b/imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html @@ -18,6 +18,7 @@

    DESCRIPTION

    NOTES

    +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD Ortho-transformation is a 2-step transformation. First, source @@ -32,10 +33,19 @@

    NOTES

    ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +Ortho-transformation is a 2-step transformation. First, source +coordinates are transformed to sensor coordinates, then sensor +coordinates are transformed to target coordinates. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= Ortho-transformation is a 2-step transformation. First, source coordinates are transformed to sensor coordinates, then sensor coordinates are transformed to target coordinates. +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    SEE ALSO

    diff --git a/imagery/i.ortho.photo/lib/georef.c b/imagery/i.ortho.photo/lib/georef.c index c2c7a9ec481..6c839ab376c 100644 --- a/imagery/i.ortho.photo/lib/georef.c +++ b/imagery/i.ortho.photo/lib/georef.c @@ -44,6 +44,7 @@ int I_compute_ref_equations(struct Ortho_Photo_Points *cp, double E12[3], double det; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD void (*sigfpe)(int); ======= @@ -55,6 +56,12 @@ int I_compute_ref_equations(struct Ortho_Photo_Points *cp, double E12[3], ======= void (*sigfpe)(int); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + void (*sigfpe)(); +======= + void (*sigfpe)(int); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int i; s0 = s1 = s2 = s3 = s4 = s5 = 0.0; diff --git a/imagery/i.ortho.photo/lib/init_info.c b/imagery/i.ortho.photo/lib/init_info.c index 511375d830c..d89a4cc7906 100644 --- a/imagery/i.ortho.photo/lib/init_info.c +++ b/imagery/i.ortho.photo/lib/init_info.c @@ -5,6 +5,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD FILE *I_fopen_group_init_old(char *); FILE *I_fopen_group_init_new(char *); ======= @@ -17,6 +18,14 @@ FILE *I_fopen_group_init_new(); FILE *I_fopen_group_init_old(char *); FILE *I_fopen_group_init_new(char *); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +FILE *I_fopen_group_init_old(); +FILE *I_fopen_group_init_new(); +======= +FILE *I_fopen_group_init_old(char *); +FILE *I_fopen_group_init_new(char *); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #define INITIAL_FILE "INIT_EXP" diff --git a/imagery/i.ortho.photo/lib/orthophoto.h b/imagery/i.ortho.photo/lib/orthophoto.h index 96b03515a5c..54112ee2fbe 100644 --- a/imagery/i.ortho.photo/lib/orthophoto.h +++ b/imagery/i.ortho.photo/lib/orthophoto.h @@ -120,6 +120,7 @@ int I_convert_con_points(char *, struct Ortho_Control_Points *, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD int I_compute_ref_equations(struct Ortho_Photo_Points *, double[3], double[3], double[3], double[3]); ======= @@ -134,6 +135,14 @@ int I_compute_ref_equations(struct Ortho_Photo_Points *, double *, double *, int I_compute_ref_equations(struct Ortho_Photo_Points *, double[3], double[3], double[3], double[3]); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int I_compute_ref_equations(struct Ortho_Photo_Points *, double *, double *, + double *, double *); +======= +int I_compute_ref_equations(struct Ortho_Photo_Points *, double[3], double[3], + double[3], double[3]); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* orthoref.c */ int I_compute_ortho_equations(struct Ortho_Control_Points *, struct Ortho_Camera_File_Ref *, diff --git a/imagery/i.rgb.his/i.rgb.his.html b/imagery/i.rgb.his/i.rgb.his.html index 7aa9480792a..f0d212436d9 100644 --- a/imagery/i.rgb.his/i.rgb.his.html +++ b/imagery/i.rgb.his/i.rgb.his.html @@ -23,6 +23,7 @@

    AUTHOR

    with acknowledgements to Ali Vali, Space Research <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Center, for the core routine. ======= Center, for the core routine. @@ -33,3 +34,9 @@

    AUTHOR

    ======= Center, for the core routine. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Center, for the core routine. +======= +Center, for the core routine. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/imagery/i.segment/i.segment.html b/imagery/i.segment/i.segment.html index c386ae5d69f..f2a072a483f 100644 --- a/imagery/i.segment/i.segment.html +++ b/imagery/i.segment/i.segment.html @@ -3,6 +3,7 @@

    DESCRIPTION

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) Image segmentation or object recognition is the process of grouping @@ -19,6 +20,8 @@

    DESCRIPTION

    ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Image segmentation or object recognition is the process of grouping similar pixels into unique segments, also referred to as objects. Boundary and region based algorithms are described in the literature, @@ -29,9 +32,24 @@

    DESCRIPTION

    other are assigned to the same class and do not need to be contiguous. The image segmentation results can be useful on their own, or used as a preprocessing step for image classification. The segmentation +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +Image segmentation or object recognition is the process of grouping +similar pixels into unique segments, also referred to as objects. +Boundary and region based algorithms are described in the literature, +currently a region growing and merging algorithm is implemented. Each +object found during the segmentation process is given a unique ID and +is a collection of contiguous pixels meeting some criteria. Note the +contrast with image classification where all pixels similar to each +other are assigned to the same class and do not need to be contiguous. +The image segmentation results can be useful on their own, or used as a +preprocessing step for image classification. The segmentation +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) preprocessing step can reduce noise and speed up the classification.

    NOTES

    @@ -291,6 +309,7 @@

    REFERENCES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD This project was first developed during GSoC 2012. Project documentation, Image Segmentation references, and other information is at the ======= @@ -303,6 +322,14 @@

    REFERENCES

    This project was first developed during GSoC 2012. Project documentation, Image Segmentation references, and other information is at the >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +This project was first developed during GSoC 2012. Project documentation, +Image Segmentation references, and other information is at the +======= +This project was first developed during GSoC 2012. Project documentation, +Image Segmentation references, and other information is at the +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) project wiki.

    Information about @@ -325,6 +352,7 @@

    AUTHORS

    Markus Metz (GSoC Mentor) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= <<<<<<< HEAD @@ -333,3 +361,8 @@

    AUTHORS

    >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/imagery/i.segment/iseg.h b/imagery/i.segment/iseg.h index fac46980930..fe4462fa24b 100644 --- a/imagery/i.segment/iseg.h +++ b/imagery/i.segment/iseg.h @@ -74,6 +74,7 @@ struct globals { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) int method; /* Segmentation method code */ @@ -86,6 +87,8 @@ struct globals { ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int method; /* Segmentation method code */ int (*method_fn)(); /* Segmentation method function */ int nn; /* number of neighbors, 4 or 8 */ @@ -93,11 +96,22 @@ struct globals { double alpha; /* similarity threshold */ int end_t; /* maximum number of iterations */ <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + int method; /* Segmentation method code */ + int (*method_fn)(struct globals *); /* Segmentation method function */ + int nn; /* number of neighbors, 4 or 8 */ + double max_diff; /* max possible difference */ + double alpha; /* similarity threshold */ + int end_t; /* maximum number of iterations */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* region growing */ int min_segment_size; /* smallest number of pixels/cells allowed in a final diff --git a/imagery/i.vi/i.vi.html b/imagery/i.vi/i.vi.html index 9153c490e89..ffd4ab36315 100644 --- a/imagery/i.vi/i.vi.html +++ b/imagery/i.vi/i.vi.html @@ -83,6 +83,7 @@

    Vegetation Indices

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD CI: Crust Index ======= CI: Crust Index @@ -93,6 +94,12 @@

    Vegetation Indices

    ======= CI: Crust Index >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +CI: Crust Index +======= +CI: Crust Index +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    Advantage is taken of a unique spectral feature of soil biogenic crust containing cyanobacteria. It has been shown that the special phycobilin @@ -108,6 +115,7 @@

    Vegetation Indices

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD CI = 1 - (redchan - bluechan) / ======= CI = 1 - (redchan - bluechan) / @@ -118,6 +126,12 @@

    Vegetation Indices

    ======= CI = 1 - (redchan - bluechan) / >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +CI = 1 - (redchan - bluechan) / +======= +CI = 1 - (redchan - bluechan) / +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) (redchan + bluechan)
  • @@ -619,6 +633,7 @@

    REFERENCES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD
  • Bastiaanssen, W.G.M., 1995. Regionalization of surface flux densities and moisture indicators in composite terrain; a remote sensing approach under clear skies in mediterranean climates. PhD @@ -633,10 +648,19 @@

    REFERENCES

    sensing approach under clear skies in mediterranean climates. PhD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +
  • Bastiaanssen, W.G.M., 1995. Regionalization of surface flux +densities and moisture indicators in composite terrain; a remote +sensing approach under clear skies in mediterranean climates. PhD +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +=======
  • Bastiaanssen, W.G.M., 1995. Regionalization of surface flux densities and moisture indicators in composite terrain; a remote sensing approach under clear skies in mediterranean climates. PhD +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) thesis, Wageningen Agricultural Univ., The Netherland, 271 pp. (PDF)
  • Index DataBase: List of available Indices
  • diff --git a/imagery/i.zc/main.c b/imagery/i.zc/main.c index fcbd4c88c8b..e2fbb223a19 100644 --- a/imagery/i.zc/main.c +++ b/imagery/i.zc/main.c @@ -38,6 +38,7 @@ int main(int argc, char *argv[]) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) size_t i, j; /* Loop control variables */ @@ -49,17 +50,29 @@ int main(int argc, char *argv[]) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) size_t i, j; /* Loop control variables */ int or, oc; /* Original dimensions of image */ int rows, cols; /* Smallest powers of 2 >= number of rows & columns */ size_t size; /* the length of one side */ size_t totsize; /* the Total number of data points */ <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= + size_t i, j; /* Loop control variables */ + unsigned int or, oc; /* Original dimensions of image */ + int rows, cols; /* Smallest powers of 2 >= number of rows & columns */ + size_t size; /* the length of one side */ + size_t totsize; /* the Total number of data points */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) double *data[2]; /* Data structure containing real & complex values of FFT */ struct GModule *module; diff --git a/imagery/imageryintro.html b/imagery/imageryintro.html index 336b1d65311..159bcdd0f84 100644 --- a/imagery/imageryintro.html +++ b/imagery/imageryintro.html @@ -97,6 +97,7 @@

    Semantic label information

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD also used in signature files of imagery classification tools. Therefore, ======= also used in signature files of imagery classification tools. Therefore, @@ -107,6 +108,12 @@

    Semantic label information

    ======= also used in signature files of imagery classification tools. Therefore, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +also used in signature files of imagery classification tools. Therefore, +======= +also used in signature files of imagery classification tools. Therefore, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) signature files of one imagery or raster group can be used to classify a different group with identical semantic labels. @@ -121,6 +128,7 @@

    Semantic label information

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD the user wishes may be added (i.e., not only those registered in ======= the user wishes may be added (i.e., not only those registered in @@ -131,6 +139,12 @@

    Semantic label information

    ======= the user wishes may be added (i.e., not only those registered in >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +the user wishes may be added (i.e., not only those registered in +======= +the user wishes may be added (i.e., not only those registered in +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) i.band.library). Semantic labels are supported also by the temporal GRASS modules. diff --git a/include/grass/defs/cluster.h b/include/grass/defs/cluster.h index 1205b759728..84275e7e841 100644 --- a/include/grass/defs/cluster.h +++ b/include/grass/defs/cluster.h @@ -16,6 +16,7 @@ int I_cluster_distinct(struct Cluster *, double); /* c_exec.c */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD int I_cluster_exec(struct Cluster *, int, int, double, double, int, int (*)(struct Cluster *, int), int *); ======= @@ -29,6 +30,14 @@ int I_cluster_exec(struct Cluster *, int, int, double, double, int, int (*)(), int I_cluster_exec(struct Cluster *, int, int, double, double, int, int (*)(struct Cluster *, int), int *); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int I_cluster_exec(struct Cluster *, int, int, double, double, int, int (*)(), + int *); +======= +int I_cluster_exec(struct Cluster *, int, int, double, double, int, + int (*)(struct Cluster *, int), int *); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* c_execmem.c */ int I_cluster_exec_allocate(struct Cluster *); int I_cluster_exec_free(struct Cluster *); diff --git a/include/grass/defs/gis.h b/include/grass/defs/gis.h index 3afcd20bab6..051e6393ac1 100644 --- a/include/grass/defs/gis.h +++ b/include/grass/defs/gis.h @@ -183,6 +183,7 @@ size_t G_get_num_decimals(const char *); char *G_double_to_basename_format(double, size_t, size_t); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD char *G_get_basename_separator(void); ======= char *G_get_basename_separator(); @@ -193,6 +194,12 @@ char *G_get_basename_separator(); ======= char *G_get_basename_separator(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +char *G_get_basename_separator(); +======= +char *G_get_basename_separator(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) char *G_join_basename_strings(const char **, size_t); char *G_generate_basename(const char *, double, size_t, size_t); @@ -438,6 +445,7 @@ void G_free_ilist(struct ilist *); <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD struct ilist *G_new_ilist(void); ======= struct ilist *G_new_ilist(); @@ -448,6 +456,12 @@ struct ilist *G_new_ilist(); ======= struct ilist *G_new_ilist(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +struct ilist *G_new_ilist(); +======= +struct ilist *G_new_ilist(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void G_ilist_add(struct ilist *, int); /* intersect.c */ @@ -491,6 +505,7 @@ double G_distance2_point_to_line(double, double, double, double, double, void G_list_element(const char *, const char *, const char *, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*)(const char *, const char *, char *)); ======= @@ -502,6 +517,12 @@ void G_list_element(const char *, const char *, const char *, ======= int (*)(const char *, const char *, char *)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*)(const char *, const char *, const char *)); +======= + int (*)(const char *, const char *, char *)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) char **G_list(int, const char *, const char *, const char *); void G_free_list(char **); diff --git a/include/grass/iostream/ami_sort_impl.h b/include/grass/iostream/ami_sort_impl.h index ecbd1dc4f66..8264d626bc2 100644 --- a/include/grass/iostream/ami_sort_impl.h +++ b/include/grass/iostream/ami_sort_impl.h @@ -316,6 +316,7 @@ AMI_STREAM *singleMerge(queue *streamList, Compare *cmp) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= int i = 0; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -324,6 +325,11 @@ AMI_STREAM *singleMerge(queue *streamList, Compare *cmp) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int i = 0; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) while (!rheap.empty()) { // mergedStr->write_item( rheap.extract_min() ); // xxx should check error here @@ -333,6 +339,7 @@ AMI_STREAM *singleMerge(queue *streamList, Compare *cmp) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= i++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -341,6 +348,11 @@ AMI_STREAM *singleMerge(queue *streamList, Compare *cmp) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + i++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } SDEBUG cout << "..done\n"; diff --git a/include/grass/iostream/ami_stream.h b/include/grass/iostream/ami_stream.h index aa5833e125c..4cfc0d17db1 100644 --- a/include/grass/iostream/ami_stream.h +++ b/include/grass/iostream/ami_stream.h @@ -654,6 +654,7 @@ char *AMI_STREAM::sprint() static char desc[BUFSIZ + 256]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(desc, sizeof(desc), "[AMI_STREAM %s %ld]", path, (long)stream_len()); @@ -667,6 +668,13 @@ char *AMI_STREAM::sprint() snprintf(desc, sizeof(desc), "[AMI_STREAM %s %ld]", path, (long)stream_len()); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(desc, "[AMI_STREAM %s %ld]", path, (long)stream_len()); +======= + snprintf(desc, sizeof(desc), "[AMI_STREAM %s %ld]", path, + (long)stream_len()); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return desc; } diff --git a/include/grass/iostream/embuffer.h b/include/grass/iostream/embuffer.h index 9cb4139c725..d7d6fd809ed 100644 --- a/include/grass/iostream/embuffer.h +++ b/include/grass/iostream/embuffer.h @@ -445,14 +445,21 @@ em_buffer::em_buffer(const unsigned short i, const unsigned long bs, sprintf(str, "em_buffer: allocate %d AMI_STREAM*, total %ld\n", arity, (long)(arity * sizeof(AMI_STREAM *))); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= snprintf(str, sizeof(str), "em_buffer: allocate %d AMI_STREAM*, total %ld\n", arity, (long)(arity * sizeof(AMI_STREAM *))); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) MEMORY_LOG(str); // allocate STREAM* array data = new AMI_STREAM *[arity]; @@ -460,6 +467,7 @@ em_buffer::em_buffer(const unsigned short i, const unsigned long bs, // allocate deleted array <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(str, sizeof(str), "em_buffer: allocate deleted array: %ld\n", (long)(arity * sizeof(long))); @@ -475,12 +483,21 @@ em_buffer::em_buffer(const unsigned short i, const unsigned long bs, snprintf(str, sizeof(str), "em_buffer: allocate deleted array: %ld\n", (long)(arity * sizeof(long))); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(str, "em_buffer: allocate deleted array: %ld\n", + (long)(arity * sizeof(long))); +======= + snprintf(str, sizeof(str), "em_buffer: allocate deleted array: %ld\n", + (long)(arity * sizeof(long))); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) MEMORY_LOG(str); deleted = new long[arity]; // allocate streamsize array <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(str, sizeof(str), "em_buffer: allocate streamsize array: %ld\n", (long)(arity * sizeof(long))); @@ -496,6 +513,14 @@ em_buffer::em_buffer(const unsigned short i, const unsigned long bs, snprintf(str, sizeof(str), "em_buffer: allocate streamsize array: %ld\n", (long)(arity * sizeof(long))); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(str, "em_buffer: allocate streamsize array: %ld\n", + (long)(arity * sizeof(long))); +======= + snprintf(str, sizeof(str), "em_buffer: allocate streamsize array: %ld\n", + (long)(arity * sizeof(long))); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) MEMORY_LOG(str); streamsize = new unsigned long[arity]; @@ -503,6 +528,7 @@ em_buffer::em_buffer(const unsigned short i, const unsigned long bs, // allocate name array <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(str, sizeof(str), "em_buffer: allocate name array: %ld\n", (long)(arity * sizeof(char *))); @@ -518,6 +544,14 @@ em_buffer::em_buffer(const unsigned short i, const unsigned long bs, snprintf(str, sizeof(str), "em_buffer: allocate name array: %ld\n", (long)(arity * sizeof(char *))); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(str, "em_buffer: allocate name array: %ld\n", + (long)(arity * sizeof(char *))); +======= + snprintf(str, sizeof(str), "em_buffer: allocate name array: %ld\n", + (long)(arity * sizeof(char *))); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) MEMORY_LOG(str); name = new char *[arity]; assert(name); @@ -1053,6 +1087,7 @@ AMI_err em_buffer::substream_merge(AMI_STREAM **instreams, char str[200]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(str, sizeof(str), "em_buffer::substream_merge: allocate keys array, total %ldB\n", @@ -1067,11 +1102,20 @@ AMI_err em_buffer::substream_merge(AMI_STREAM **instreams, "em_buffer::substream_merge: allocate keys array, total %ldB\n", (long)((long)arity * sizeof(merge_key))); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + sprintf(str, + "em_buffer::substream_merge: allocate keys array, total %ldB\n", + (long)((long)arity * sizeof(merge_key))); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= snprintf(str, sizeof(str), "em_buffer::substream_merge: allocate keys array, total %ldB\n", (long)((long)arity * sizeof(merge_key))); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) MEMORY_LOG(str); // keys array is initialized with smallest key from each stream (only diff --git a/include/grass/iostream/empq_impl.h b/include/grass/iostream/empq_impl.h index 8706141d27a..0182a3fb5a5 100644 --- a/include/grass/iostream/empq_impl.h +++ b/include/grass/iostream/empq_impl.h @@ -165,6 +165,7 @@ em_pqueue::em_pqueue(long pq_sz, long buf_sz, unsigned short nb_buf, char str[200]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(str, sizeof(str), "em_pqueue: allocating array of %ld buff pointers\n", @@ -177,11 +178,19 @@ em_pqueue::em_pqueue(long pq_sz, long buf_sz, unsigned short nb_buf, sprintf(str, "em_pqueue: allocating array of %ld buff pointers\n", (long)max_nbuf); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + sprintf(str, "em_pqueue: allocating array of %ld buff pointers\n", + (long)max_nbuf); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= snprintf(str, sizeof(str), "em_pqueue: allocating array of %ld buff pointers\n", (long)max_nbuf); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) MEMORY_LOG(str); // allocate ext memory buffers array @@ -344,6 +353,7 @@ em_pqueue::em_pqueue() char str[200]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(str, sizeof(str), "em_pqueue: allocating array of %ld buff pointers\n", @@ -356,11 +366,19 @@ em_pqueue::em_pqueue() sprintf(str, "em_pqueue: allocating array of %ld buff pointers\n", (long)max_nbuf); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + sprintf(str, "em_pqueue: allocating array of %ld buff pointers\n", + (long)max_nbuf); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= snprintf(str, sizeof(str), "em_pqueue: allocating array of %ld buff pointers\n", (long)max_nbuf); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) MEMORY_LOG(str); // allocate ext memory buffers array buff = new em_buffer *[max_nbuf]; @@ -489,6 +507,7 @@ em_pqueue::em_pqueue(MinMaxHeap *im, AMI_STREAM *amis) char str[200]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(str, sizeof(str), "em_pqueue: allocating array of %ld buff pointers\n", @@ -501,11 +520,19 @@ em_pqueue::em_pqueue(MinMaxHeap *im, AMI_STREAM *amis) sprintf(str, "em_pqueue: allocating array of %ld buff pointers\n", (long)max_nbuf); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + sprintf(str, "em_pqueue: allocating array of %ld buff pointers\n", + (long)max_nbuf); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= snprintf(str, sizeof(str), "em_pqueue: allocating array of %ld buff pointers\n", (long)max_nbuf); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) MEMORY_LOG(str); buff = new em_buffer *[max_nbuf]; assert(buff); @@ -655,6 +682,7 @@ bool em_pqueue::fillpq() char str[200]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(str, sizeof(str), "em_pqueue::fillpq: allocate array of %hd AMI_STREAMs\n", @@ -667,11 +695,19 @@ bool em_pqueue::fillpq() sprintf(str, "em_pqueue::fillpq: allocate array of %hd AMI_STREAMs\n", crt_buf); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + sprintf(str, "em_pqueue::fillpq: allocate array of %hd AMI_STREAMs\n", + crt_buf); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= snprintf(str, sizeof(str), "em_pqueue::fillpq: allocate array of %hd AMI_STREAMs\n", crt_buf); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) MEMORY_LOG(str); } // merge pqsize smallest elements from each buffer into a new stream @@ -1256,6 +1292,7 @@ void em_pqueue::empty_buff(unsigned short i) char str[200]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(str, sizeof(str), "em_pqueue::empty_buff( %hd ) allocate new em_buffer\n", i); @@ -1271,6 +1308,14 @@ void em_pqueue::empty_buff(unsigned short i) snprintf(str, sizeof(str), "em_pqueue::empty_buff( %hd ) allocate new em_buffer\n", i); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(str, "em_pqueue::empty_buff( %hd ) allocate new em_buffer\n", + i); +======= + snprintf(str, sizeof(str), + "em_pqueue::empty_buff( %hd ) allocate new em_buffer\n", i); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) MEMORY_LOG(str); buff[i + 1] = new em_buffer(i + 2, bufsize, buf_arity); } diff --git a/include/grass/iostream/imbuffer.h b/include/grass/iostream/imbuffer.h index d9665261a53..83c0734cbcb 100644 --- a/include/grass/iostream/imbuffer.h +++ b/include/grass/iostream/imbuffer.h @@ -93,6 +93,7 @@ class im_buffer { char str[100]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(str, sizeof(str), "im_buffer: allocate %ld\n", (long)(maxsize * sizeof(T))); @@ -106,6 +107,13 @@ class im_buffer { snprintf(str, sizeof(str), "im_buffer: allocate %ld\n", (long)(maxsize * sizeof(T))); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(str, "im_buffer: allocate %ld\n", (long)(maxsize * sizeof(T))); +======= + snprintf(str, sizeof(str), "im_buffer: allocate %ld\n", + (long)(maxsize * sizeof(T))); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) MEMORY_LOG(str); data = new T[maxsize]; diff --git a/include/grass/iostream/mem_stream.h b/include/grass/iostream/mem_stream.h index b26a43231c0..6b220c95359 100644 --- a/include/grass/iostream/mem_stream.h +++ b/include/grass/iostream/mem_stream.h @@ -169,6 +169,7 @@ char *MEM_STREAM::sprint() static char buf[BUFSIZ]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), "[MEM_STREAM %d]", stream_len()); ======= @@ -180,6 +181,12 @@ char *MEM_STREAM::sprint() ======= snprintf(buf, sizeof(buf), "[MEM_STREAM %d]", stream_len()); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "[MEM_STREAM %d]", stream_len()); +======= + snprintf(buf, sizeof(buf), "[MEM_STREAM %d]", stream_len()); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } diff --git a/include/grass/iostream/minmaxheap.h b/include/grass/iostream/minmaxheap.h index 80f6a3c3fed..e774342a9c0 100644 --- a/include/grass/iostream/minmaxheap.h +++ b/include/grass/iostream/minmaxheap.h @@ -95,6 +95,7 @@ class BasicMinMaxHeap { char str[100]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(str, sizeof(str), "BasicMinMaxHeap: allocate %ld\n", (long)((size + 1) * sizeof(T))); @@ -110,6 +111,14 @@ class BasicMinMaxHeap { snprintf(str, sizeof(str), "BasicMinMaxHeap: allocate %ld\n", (long)((size + 1) * sizeof(T))); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(str, "BasicMinMaxHeap: allocate %ld\n", + (long)((size + 1) * sizeof(T))); +======= + snprintf(str, sizeof(str), "BasicMinMaxHeap: allocate %ld\n", + (long)((size + 1) * sizeof(T))); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) // MEMORY_LOG(str); lastindex = 0; diff --git a/include/grass/ogsf.h b/include/grass/ogsf.h index 01b13da3ac2..524be53aa48 100644 --- a/include/grass/ogsf.h +++ b/include/grass/ogsf.h @@ -246,6 +246,7 @@ typedef struct { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) IFLAG att_src; /* NOTSET_ATT, MAP_ATT, CONST_ATT, FUNC_ATT */ @@ -256,16 +257,27 @@ typedef struct { ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) IFLAG att_src; /* NOTSET_ATT, MAP_ATT, CONST_ATT, FUNC_ATT */ IFLAG att_type; /* ATTY_INT, ATTY_SHORT, ATTY_CHAR, or ATTY_FLOAT */ int hdata; /* handle to dataset */ int (*user_func)(); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + IFLAG att_src; /* NOTSET_ATT, MAP_ATT, CONST_ATT, FUNC_ATT */ + IFLAG att_type; /* ATTY_INT, ATTY_SHORT, ATTY_CHAR, or ATTY_FLOAT */ + int hdata; /* handle to dataset */ + int (*user_func)(void); /* Not yet supported */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) float constant; int *lookup; /* TODO: use transform instead */ float min_nz, max_nz, range_nz; @@ -357,6 +369,7 @@ typedef struct g_vect { geoline *fastlines; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*bgn_read)(void), (*end_read)(void), (*nxt_line)(void); ======= @@ -368,6 +381,12 @@ typedef struct g_vect { ======= int (*bgn_read)(void), (*end_read)(void), (*nxt_line)(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*bgn_read)(), (*end_read)(), (*nxt_line)(); +======= + int (*bgn_read)(void), (*end_read)(void), (*nxt_line)(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) struct g_vect *next; void *clientdata; @@ -403,6 +422,7 @@ typedef struct g_site { geopoint *points; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*bgn_read)(void), (*end_read)(void), (*nxt_site)(void); ======= @@ -414,6 +434,12 @@ typedef struct g_site { ======= int (*bgn_read)(void), (*end_read)(void), (*nxt_site)(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*bgn_read)(), (*end_read)(), (*nxt_site)(); +======= + int (*bgn_read)(void), (*end_read)(void), (*nxt_site)(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) struct g_site *next; void *clientdata; @@ -444,6 +470,7 @@ typedef struct { int hfile; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*user_func)(void); /* unused */ ======= @@ -455,6 +482,12 @@ typedef struct { ======= int (*user_func)(void); /* unused */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*user_func)(); +======= + int (*user_func)(void); /* unused */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) float constant; void *att_data; @@ -540,6 +573,7 @@ typedef struct { /* need to add elements here for off_screen drawing */ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD extern void (*Cxl_func)(void); extern void (*Swap_func)(void); /* unused */ ======= @@ -554,6 +588,14 @@ extern void (*Swap_func)(); extern void (*Cxl_func)(void); extern void (*Swap_func)(void); /* unused */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +extern void (*Cxl_func)(); +extern void (*Swap_func)(); +======= +extern void (*Cxl_func)(void); +extern void (*Swap_func)(void); /* unused */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Key frames */ /* these have to be 1 << KF_id_index */ diff --git a/include/grass/raster3d.h b/include/grass/raster3d.h index 8a5046698f6..ecc84b51597 100644 --- a/include/grass/raster3d.h +++ b/include/grass/raster3d.h @@ -225,6 +225,7 @@ typedef struct { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) int (*eltRemoveFun)(int, const void *, @@ -241,6 +242,8 @@ typedef struct { ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int (*eltRemoveFun)(); /* callback activated if the contents of an elt needs to be removed */ void *eltRemoveFunData; /* pointer to user data passed along with @@ -249,11 +252,26 @@ typedef struct { void *eltLoadFunData; /* pointer to user data passed along with eltLoadFun */ <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + int (*eltRemoveFun)(int, const void *, + void *); /* callback activated if the contents of an elt + needs to be removed */ + void *eltRemoveFunData; /* pointer to user data passed along with + eltRemoveFun */ + int (*eltLoadFun)( + int, void *, + void *); /* callback activated to load contents of an elt */ + void *eltLoadFunData; /* pointer to user data passed along with + eltLoadFun */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void *hash; /* ptr to hashTable used to relate external names to internal indices (elts) */ diff --git a/include/grass/segment.h b/include/grass/segment.h index fa90d1bcb67..6c0199f1d95 100644 --- a/include/grass/segment.h +++ b/include/grass/segment.h @@ -19,6 +19,7 @@ struct aq { /* age queue */ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD typedef struct SEGMENT { ======= typedef struct { @@ -29,6 +30,12 @@ typedef struct { ======= typedef struct SEGMENT { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +typedef struct { +======= +typedef struct SEGMENT { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int open; /* open flag */ off_t nrows; /* rows in original data */ off_t ncols; /* cols in original data */ @@ -50,6 +57,7 @@ typedef struct SEGMENT { int sizebits; /* segment size bitshift */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*address)(const struct SEGMENT *, off_t, off_t, int *, int *); int (*seek)(const struct SEGMENT *S, int, int); @@ -65,6 +73,14 @@ typedef struct SEGMENT { int (*address)(const struct SEGMENT *, off_t, off_t, int *, int *); int (*seek)(const struct SEGMENT *S, int, int); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*address)(); + int (*seek)(); +======= + int (*address)(const struct SEGMENT *, off_t, off_t, int *, int *); + int (*seek)(const struct SEGMENT *S, int, int); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) char *fname; /* segment file name */ int fd; /* file descriptor to read/write segment */ diff --git a/include/grass/temporal.h b/include/grass/temporal.h index 16bcb1d89e8..dc0563eadb7 100644 --- a/include/grass/temporal.h +++ b/include/grass/temporal.h @@ -72,6 +72,7 @@ void tgis_free_map_list(tgisMapList *list); <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD tgisMapList *tgis_new_map_list(void); ======= tgisMapList *tgis_new_map_list(); @@ -82,6 +83,12 @@ tgisMapList *tgis_new_map_list(); ======= tgisMapList *tgis_new_map_list(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +tgisMapList *tgis_new_map_list(); +======= +tgisMapList *tgis_new_map_list(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /*! Insert a new map to the map list */ void tgis_map_list_insert(tgisMapList *list, char *name, char *mapset, @@ -192,6 +199,7 @@ void tgis_free_dataset_list(tgisDatasetList *list); <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD tgisDatasetList *tgis_new_dataset_list(void); ======= tgisDatasetList *tgis_new_dataset_list(); @@ -202,6 +210,12 @@ tgisDatasetList *tgis_new_dataset_list(); ======= tgisDatasetList *tgis_new_dataset_list(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +tgisDatasetList *tgis_new_dataset_list(); +======= +tgisDatasetList *tgis_new_dataset_list(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /*! Insert a new dataset to the dataset list */ void tgis_dataset_list_insert(tgisDatasetList *list, char *name, char *mapset, diff --git a/lib/btree/update.c b/lib/btree/update.c index dd3141e1eea..2e30899a517 100644 --- a/lib/btree/update.c +++ b/lib/btree/update.c @@ -13,6 +13,7 @@ int btree_update(BTREE *B, const void *key, int keylen, const void *data, int N; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*cmp)(const void *, const void *); ======= @@ -24,6 +25,12 @@ int btree_update(BTREE *B, const void *key, int keylen, const void *data, ======= int (*cmp)(const void *, const void *); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*cmp)(); +======= + int (*cmp)(const void *, const void *); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int dir; /* first node is special case */ diff --git a/lib/cairodriver/cairodriver.html b/lib/cairodriver/cairodriver.html index 37a2d320774..336644efa6f 100644 --- a/lib/cairodriver/cairodriver.html +++ b/lib/cairodriver/cairodriver.html @@ -150,6 +150,7 @@

    SVG Example

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD

    NOTES

    ======= ======= @@ -159,6 +160,12 @@

    NOTES

    =======

    NOTES

    >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +

    NOTES

    +======= +

    NOTES

    +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) The driver is still in development. Enable it by specifying --with-cairo when configuring GRASS. This diff --git a/lib/cairodriver/read_bmp.c b/lib/cairodriver/read_bmp.c index 183a497a32e..252a95616e8 100644 --- a/lib/cairodriver/read_bmp.c +++ b/lib/cairodriver/read_bmp.c @@ -54,6 +54,7 @@ static int read_bmp_header(const unsigned char *p) if (*p++ != 'M') return 0; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if (get_4(&p) != (unsigned int)HEADER_SIZE + ca.width * ca.height * 4) @@ -66,6 +67,12 @@ static int read_bmp_header(const unsigned char *p) ======= if (get_4(&p) != (unsigned int)HEADER_SIZE + ca.width * ca.height * 4) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (get_4(&p) != HEADER_SIZE + ca.width * ca.height * 4) +======= + if (get_4(&p) != (unsigned int)HEADER_SIZE + ca.width * ca.height * 4) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; get_4(&p); @@ -76,6 +83,7 @@ static int read_bmp_header(const unsigned char *p) if (get_4(&p) != 40) return 0; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if (get_4(&p) != (unsigned int)ca.width) @@ -89,11 +97,20 @@ static int read_bmp_header(const unsigned char *p) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + if (get_4(&p) != ca.width) + return 0; + if (get_4(&p) != -ca.height) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if (get_4(&p) != (unsigned int)ca.width) return 0; if (get_4(&p) != (unsigned int)-ca.height) +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; get_2(&p); @@ -104,6 +121,7 @@ static int read_bmp_header(const unsigned char *p) return 0; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (get_4(&p) != (unsigned int)ca.width * ca.height * 4) ======= @@ -115,6 +133,12 @@ static int read_bmp_header(const unsigned char *p) ======= if (get_4(&p) != (unsigned int)ca.width * ca.height * 4) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (get_4(&p) != ca.width * ca.height * 4) +======= + if (get_4(&p) != (unsigned int)ca.width * ca.height * 4) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; get_4(&p); @@ -142,6 +166,7 @@ void cairo_read_bmp(void) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (fread(ca.grid, ca.stride, ca.height, input) != (unsigned int)ca.height) { @@ -155,6 +180,13 @@ void cairo_read_bmp(void) if (fread(ca.grid, ca.stride, ca.height, input) != (unsigned int)ca.height) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (fread(ca.grid, ca.stride, ca.height, input) != ca.height) { +======= + if (fread(ca.grid, ca.stride, ca.height, input) != + (unsigned int)ca.height) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (feof(input)) G_fatal_error(_("Cairo: error reading BMP file <%s>: " "unexpected end of file"), diff --git a/lib/calc/xrand.c b/lib/calc/xrand.c index 399c1823c4e..a2340eb8c14 100644 --- a/lib/calc/xrand.c +++ b/lib/calc/xrand.c @@ -37,6 +37,7 @@ int f_rand(int argc, const int *argt, void **args) } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD res[i] = (lo == hi) ? lo : (int)(lo + x % (unsigned int)(hi - lo)); ======= @@ -48,6 +49,12 @@ int f_rand(int argc, const int *argt, void **args) ======= res[i] = (lo == hi) ? lo : (int)(lo + x % (unsigned int)(hi - lo)); >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + res[i] = (lo == hi) ? lo : lo + x % (unsigned int)(hi - lo); +======= + res[i] = (lo == hi) ? lo : (int)(lo + x % (unsigned int)(hi - lo)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } return 0; } diff --git a/lib/cluster/c_exec.c b/lib/cluster/c_exec.c index b4ff62803e9..705a2008645 100644 --- a/lib/cluster/c_exec.c +++ b/lib/cluster/c_exec.c @@ -33,6 +33,7 @@ int I_cluster_exec(struct Cluster *C, int maxclass, int iterations, double convergence, double separation, int min_class_size, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*checkpoint)(struct Cluster *, int), int *interrupted) ======= @@ -44,6 +45,12 @@ int I_cluster_exec(struct Cluster *C, int maxclass, int iterations, ======= int (*checkpoint)(struct Cluster *, int), int *interrupted) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*checkpoint)(), int *interrupted) +======= + int (*checkpoint)(struct Cluster *, int), int *interrupted) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { int changes; diff --git a/lib/datetime/change.c b/lib/datetime/change.c index dd7ecde0d31..0fb061e1611 100644 --- a/lib/datetime/change.c +++ b/lib/datetime/change.c @@ -6,6 +6,7 @@ */ #include +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD static void make_incr(DateTime *, int, int, DateTime *); @@ -18,6 +19,12 @@ static void make_incr(); ======= static void make_incr(DateTime *, int, int, DateTime *); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static void make_incr(); +======= +static void make_incr(DateTime *, int, int, DateTime *); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /*! * \brief diff --git a/lib/datetime/local.c b/lib/datetime/local.c index 32e840d7fdb..827d950221c 100644 --- a/lib/datetime/local.c +++ b/lib/datetime/local.c @@ -7,6 +7,7 @@ #include #include +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD ======= @@ -19,6 +20,13 @@ extern struct tm *gmtime(); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +extern struct tm *localtime(); +extern struct tm *gmtime(); + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* ** NOTE: the extern variable "timezone" seems to be treated ** differently by different OS, and the tm_zone element of struct tm diff --git a/lib/db/dbmi_base/dirent.c b/lib/db/dbmi_base/dirent.c index 38d49840a07..b09ba69f983 100644 --- a/lib/db/dbmi_base/dirent.c +++ b/lib/db/dbmi_base/dirent.c @@ -33,7 +33,10 @@ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #include #ifdef USE_DIRECT #include @@ -46,9 +49,14 @@ typedef struct dirent dir_entry; extern DIR *opendir(); extern dir_entry *readdir(); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static int cmp_dirent(const void *, const void *); static int get_perm(char *); static void sort_dirent(dbDirent *, int); @@ -99,6 +107,7 @@ dbDirent *db_dirent(const char *dirname, int *n) return (dbDirent *)NULL; } <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD db_dirent = db_alloc_dirent_array(count); if (db_dirent == NULL) { @@ -113,6 +122,14 @@ dbDirent *db_dirent(const char *dirname, int *n) db_dirent = db_alloc_dirent_array(count); if (db_dirent == NULL) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + dirent = db_alloc_dirent_array(count); + if (dirent == NULL) { +======= + db_dirent = db_alloc_dirent_array(count); + if (db_dirent == NULL) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) closedir(dp); return (dbDirent *)NULL; } @@ -124,6 +141,7 @@ dbDirent *db_dirent(const char *dirname, int *n) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (DB_OK != db_set_string(&db_dirent[i].name, entry->d_name)) break; @@ -133,22 +151,31 @@ dbDirent *db_dirent(const char *dirname, int *n) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (DB_OK != db_set_string(&dirent[i].name, entry->d_name)) break; sprintf(path, "%s/%s", dirname, entry->d_name); dirent[i].perm = get_perm(path); dirent[i].isdir = (db_isdir(path) == DB_OK); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if (DB_OK != db_set_string(&db_dirent[i].name, entry->d_name)) break; sprintf(path, "%s/%s", dirname, entry->d_name); db_dirent[i].perm = get_perm(path); db_dirent[i].isdir = (db_isdir(path) == DB_OK); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } closedir(dp); db_free(path); @@ -163,8 +190,12 @@ dbDirent *db_dirent(const char *dirname, int *n) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD \param db_dirent pointer to dbDirent +======= + \param dirent pointer to dbDirent +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) \param count number of entities in the array */ void db_free_dirent_array(dbDirent *db_dirent, int count) @@ -194,6 +225,7 @@ void db_free_dirent_array(dbDirent *db_dirent, int count) db_free_string(&dirent[i].name); db_free(dirent); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -201,6 +233,21 @@ void db_free_dirent_array(dbDirent *db_dirent, int count) db_free_string(&db_dirent[i].name); db_free(db_dirent); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + \param db_dirent pointer to dbDirent + \param count number of entities in the array + */ +void db_free_dirent_array(dbDirent *db_dirent, int count) +{ + int i; + + if (db_dirent) { + for (i = 0; i < count; i++) + db_free_string(&db_dirent[i].name); + db_free(db_dirent); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } @@ -249,6 +296,7 @@ dbDirent *db_alloc_dirent_array(int count) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD db_dirent = (dbDirent *)db_calloc(count, sizeof(dbDirent)); if (db_dirent == NULL) @@ -261,12 +309,15 @@ dbDirent *db_alloc_dirent_array(int count) if (dirent == NULL) return dirent; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) dirent = (dbDirent *)db_calloc(count, sizeof(dbDirent)); if (dirent == NULL) return dirent; for (i = 0; i < count; i++) db_init_string(&dirent[i].name); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) for (i = 0; i < count; i++) @@ -282,5 +333,16 @@ dbDirent *db_alloc_dirent_array(int count) db_init_string(&db_dirent[i].name); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + db_dirent = (dbDirent *)db_calloc(count, sizeof(dbDirent)); + if (db_dirent == NULL) + return db_dirent; + + for (i = 0; i < count; i++) + db_init_string(&db_dirent[i].name); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return db_dirent; } diff --git a/lib/db/dbmi_base/table.c b/lib/db/dbmi_base/table.c index b5721cc9662..be7b22dbe61 100644 --- a/lib/db/dbmi_base/table.c +++ b/lib/db/dbmi_base/table.c @@ -143,6 +143,7 @@ int db_get_table_number_of_columns(dbTable *table) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static void set_all_column_privs(dbTable *table, void (*set_column_priv)(dbColumn *)) ======= @@ -155,6 +156,13 @@ static void set_all_column_privs(dbTable *table, void (*set_column_priv)()) static void set_all_column_privs(dbTable *table, void (*set_column_priv)(dbColumn *)) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static void set_all_column_privs(dbTable *table, void (*set_column_priv)()) +======= +static void set_all_column_privs(dbTable *table, + void (*set_column_priv)(dbColumn *)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { int col, ncols; dbColumn *column; @@ -169,6 +177,7 @@ static void set_all_column_privs(dbTable *table, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static int get_all_column_privs(dbTable *table, int (*get_column_priv)(dbColumn *)) ======= @@ -181,6 +190,13 @@ static int get_all_column_privs(dbTable *table, int (*get_column_priv)()) static int get_all_column_privs(dbTable *table, int (*get_column_priv)(dbColumn *)) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int get_all_column_privs(dbTable *table, int (*get_column_priv)()) +======= +static int get_all_column_privs(dbTable *table, + int (*get_column_priv)(dbColumn *)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { int priv, col, ncols; dbColumn *column; diff --git a/lib/db/dbmi_base/whoami.c b/lib/db/dbmi_base/whoami.c index 0e5648aea8f..1de055dea67 100644 --- a/lib/db/dbmi_base/whoami.c +++ b/lib/db/dbmi_base/whoami.c @@ -26,6 +26,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD const char *db_whoami(void) ======= ======= @@ -35,6 +36,12 @@ const char *db_whoami() ======= const char *db_whoami(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +const char *db_whoami() +======= +const char *db_whoami(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return G_store(getenv("LOGNAME")); } diff --git a/lib/db/dbmi_driver/d_error.c b/lib/db/dbmi_driver/d_error.c index 32657f050ec..9472991f0b7 100644 --- a/lib/db/dbmi_driver/d_error.c +++ b/lib/db/dbmi_driver/d_error.c @@ -77,6 +77,7 @@ void db_d_append_error(const char *fmt, ...) rewind(fp); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (fread(work, 1, count, fp) != (size_t)count) { ======= @@ -88,6 +89,12 @@ void db_d_append_error(const char *fmt, ...) ======= if (fread(work, 1, count, fp) != (size_t)count) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (fread(work, 1, count, fp) != count) { +======= + if (fread(work, 1, count, fp) != (size_t)count) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (ferror(fp)) G_fatal_error(_("DBMI-%s driver file reading error: %s"), st->driver_name, strerror(errno)); diff --git a/lib/db/dbmi_driver/procs.h b/lib/db/dbmi_driver/procs.h index 7a793c72241..70299d4e49a 100644 --- a/lib/db/dbmi_driver/procs.h +++ b/lib/db/dbmi_driver/procs.h @@ -33,6 +33,7 @@ static struct { int procnum; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*routine)(void); ======= @@ -44,6 +45,12 @@ static struct { ======= int (*routine)(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*routine)(); +======= + int (*routine)(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } procedure[] = {{DB_PROC_FETCH, db_d_fetch}, {DB_PROC_ROWS, db_d_get_num_rows}, {DB_PROC_UPDATE, db_d_update}, diff --git a/lib/db/sqlp/sql.html b/lib/db/sqlp/sql.html index 41939dae081..7d77d17f663 100644 --- a/lib/db/sqlp/sql.html +++ b/lib/db/sqlp/sql.html @@ -21,6 +21,7 @@

    Database drivers

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The default database driver used by GRASS GIS 8 is SQLite. GRASS GIS ======= The default database driver used by GRASS GIS 8 is SQLite. GRASS GIS @@ -31,6 +32,9 @@

    Database drivers

    ======= The default database driver used by GRASS GIS 8 is SQLite. GRASS GIS >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +The default database driver used by GRASS GIS 8 is SQLite. GRASS GIS +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) handles multiattribute vector data by default. The db.* set of commands provides basic SQL support for attribute management, while the v.db.* set of commands operates on vector maps. diff --git a/lib/driver/font2.c b/lib/driver/font2.c index 1ae4883164d..b287facc24c 100644 --- a/lib/driver/font2.c +++ b/lib/driver/font2.c @@ -70,6 +70,7 @@ static void read_hersh(const char *filename) int coords; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned int i, idx, count; int c; @@ -85,6 +86,14 @@ static void read_hersh(const char *filename) unsigned int i, idx, count; int c; >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + unsigned int idx, count; + int c, i; +======= + unsigned int i, idx, count; + int c; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) switch (c = fgetc(fp)) { case '\r': diff --git a/lib/dspf/dspf_header.c b/lib/dspf/dspf_header.c index 69138697f85..5983e72354d 100644 --- a/lib/dspf/dspf_header.c +++ b/lib/dspf/dspf_header.c @@ -42,6 +42,7 @@ int dfwrite_header(file_info *headp) return (-1); /* write the array of thresholds out */ <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((fwrite(linep->tvalue, flsize, linep->nthres, fp)) != (size_t)linep->nthres) { @@ -55,6 +56,13 @@ int dfwrite_header(file_info *headp) if ((fwrite(linep->tvalue, flsize, linep->nthres, fp)) != (size_t)linep->nthres) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if ((fwrite(linep->tvalue, flsize, linep->nthres, fp)) != linep->nthres) { +======= + if ((fwrite(linep->tvalue, flsize, linep->nthres, fp)) != + (size_t)linep->nthres) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) fprintf(stderr, "ERROR: fwrite in dspf_header.c\n"); return (-1); } diff --git a/lib/external/ccmath/unfl.c b/lib/external/ccmath/unfl.c index ba5afc2bf86..ebed2aa4679 100644 --- a/lib/external/ccmath/unfl.c +++ b/lib/external/ccmath/unfl.c @@ -10,6 +10,7 @@ static unsigned int s, h, sbuf[256]; <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD double unfl(void) ======= double unfl() @@ -20,6 +21,12 @@ double unfl() ======= double unfl(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +double unfl() +======= +double unfl(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { int i; diff --git a/lib/external/shapelib/dbfopen.c b/lib/external/shapelib/dbfopen.c index b63dfc42639..ca424cc2dcb 100644 --- a/lib/external/shapelib/dbfopen.c +++ b/lib/external/shapelib/dbfopen.c @@ -9,6 +9,7 @@ * Copyright (c) 1999, Frank Warmerdam <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD * Copyright (c) 2012-2019, Even Rouault ======= @@ -22,6 +23,13 @@ ======= * Copyright (c) 2012-2019, Even Rouault >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + * Copyright (c) 2012-2013, Even Rouault +======= + * Copyright (c) 2012-2019, Even Rouault +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) * * This software is available under the following "MIT Style" license, * or at the option of the licensee under the LGPL (see COPYING). This @@ -65,6 +73,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) #define STRCASECMP(a, b) (stricmp(a, b)) @@ -73,6 +82,23 @@ #define STRCASECMP(a, b) (strcasecmp(a, b)) #endif +#if defined(_MSC_VER) +#if _MSC_VER < 1900 +#define snprintf _snprintf +#endif +#elif defined(WIN32) || defined(_WIN32) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +#ifndef snprintf +#define snprintf _snprintf +#endif +======= +#define STRCASECMP(a, b) (stricmp(a, b)) +#else +#include +#define STRCASECMP(a, b) (strcasecmp(a, b)) +#endif + #if defined(_MSC_VER) #if _MSC_VER < 1900 #define snprintf _snprintf @@ -83,6 +109,11 @@ #endif #endif +#define CPLsprintf sprintf +#define CPLsnprintf snprintf +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +#endif + #define CPLsprintf sprintf #define CPLsnprintf snprintf <<<<<<< HEAD @@ -107,6 +138,7 @@ SHP_CVSID("$Id$") #define TRUE 1 <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD #endif /* File header size */ @@ -139,6 +171,9 @@ CPL_INLINE static void CPL_IGNORE_RET_VAL_INT(CPL_UNUSED int unused) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif /* File header size */ @@ -167,6 +202,10 @@ CPL_INLINE static void CPL_IGNORE_RET_VAL_INT(CPL_UNUSED int unused) #define REINTERPRET_CAST(type, x) ((type)(x)) #define CONST_CAST(type, x) ((type)(x)) #define SHPLIB_NULLPTR NULL +<<<<<<< HEAD +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif /************************************************************************/ @@ -178,6 +217,7 @@ CPL_INLINE static void CPL_IGNORE_RET_VAL_INT(CPL_UNUSED int unused) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static void *SfRealloc(void *pMem, int nNewSize) { @@ -198,16 +238,30 @@ static void *SfRealloc(void *pMem, int nNewSize) return ((void *)realloc(pMem, nNewSize)); >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static void *SfRealloc(void *pMem, int nNewSize) { if (pMem == NULL) return ((void *)malloc(nNewSize)); else return ((void *)realloc(pMem, nNewSize)); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= return realloc(pMem, nNewSize); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +static void *SfRealloc(void *pMem, int nNewSize) +{ + if (pMem == SHPLIB_NULLPTR) + return malloc(nNewSize); + else + return realloc(pMem, nNewSize); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -223,6 +277,7 @@ static void DBFWriteHeader(DBFHandle psDBF) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned char abyHeader[XBASE_FILEHDR_SZ] = {0}; ======= @@ -236,6 +291,13 @@ static void DBFWriteHeader(DBFHandle psDBF) ======= unsigned char abyHeader[XBASE_FILEHDR_SZ] = {0}; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + unsigned char abyHeader[XBASE_FLDHDR_SZ]; + int i; +======= + unsigned char abyHeader[XBASE_FILEHDR_SZ] = {0}; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (!psDBF->bNoHeader) return; @@ -245,6 +307,7 @@ static void DBFWriteHeader(DBFHandle psDBF) /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Initialize the file header information. */ /* -------------------------------------------------------------------- */ @@ -272,6 +335,8 @@ static void DBFWriteHeader(DBFHandle psDBF) psDBF->sHooks.FSeek(psDBF->fp, 0, 0); psDBF->sHooks.FWrite(abyHeader, XBASE_FILEHDR_SZ, 1, psDBF->fp); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Initialize the file header information. */ /* -------------------------------------------------------------------- */ for (i = 0; i < XBASE_FLDHDR_SZ; i++) @@ -300,13 +365,44 @@ static void DBFWriteHeader(DBFHandle psDBF) /* -------------------------------------------------------------------- */ psDBF->sHooks.FSeek(psDBF->fp, 0, 0); psDBF->sHooks.FWrite(abyHeader, XBASE_FLDHDR_SZ, 1, psDBF->fp); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + /* Initialize the file header information. */ + /* -------------------------------------------------------------------- */ + abyHeader[0] = 0x03; /* memo field? - just copying */ + + /* write out update date */ + abyHeader[1] = STATIC_CAST(unsigned char, psDBF->nUpdateYearSince1900); + abyHeader[2] = STATIC_CAST(unsigned char, psDBF->nUpdateMonth); + abyHeader[3] = STATIC_CAST(unsigned char, psDBF->nUpdateDay); + + /* record count preset at zero */ + + abyHeader[8] = STATIC_CAST(unsigned char, psDBF->nHeaderLength % 256); + abyHeader[9] = STATIC_CAST(unsigned char, psDBF->nHeaderLength / 256); + + abyHeader[10] = STATIC_CAST(unsigned char, psDBF->nRecordLength % 256); + abyHeader[11] = STATIC_CAST(unsigned char, psDBF->nRecordLength / 256); + + abyHeader[29] = STATIC_CAST(unsigned char, psDBF->iLanguageDriver); + + /* -------------------------------------------------------------------- */ + /* Write the initial 32 byte file header, and all the field */ + /* descriptions. */ + /* -------------------------------------------------------------------- */ + psDBF->sHooks.FSeek(psDBF->fp, 0, 0); + psDBF->sHooks.FWrite(abyHeader, XBASE_FILEHDR_SZ, 1, psDBF->fp); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->sHooks.FWrite(psDBF->pszHeader, XBASE_FLDHDR_SZ, psDBF->nFields, psDBF->fp); /* -------------------------------------------------------------------- */ /* Write out the newline character if there is room for it. */ /* -------------------------------------------------------------------- */ +<<<<<<< HEAD <<<<<<< HEAD if (psDBF->nHeaderLength > XBASE_FLDHDR_SZ * psDBF->nFields + XBASE_FLDHDR_SZ) { @@ -359,6 +455,8 @@ static void DBFWriteHeader(DBFHandle psDBF) /* -------------------------------------------------------------------- */ <<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psDBF->nHeaderLength > 32 * psDBF->nFields + 32) { char cNewline; @@ -370,9 +468,17 @@ static void DBFWriteHeader(DBFHandle psDBF) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) psDBF->sHooks.FWrite(&cNewline, 1, 1, psDBF->fp); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + if (psDBF->nHeaderLength > + XBASE_FLDHDR_SZ * psDBF->nFields + XBASE_FLDHDR_SZ) { + char cNewline = HEADER_RECORD_TERMINATOR; + psDBF->sHooks.FWrite(&cNewline, 1, 1, psDBF->fp); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* -------------------------------------------------------------------- */ @@ -382,6 +488,10 @@ static void DBFWriteHeader(DBFHandle psDBF) char ch = END_OF_FILE_CHARACTER; psDBF->sHooks.FWrite(&ch, 1, 1, psDBF->fp); +<<<<<<< HEAD +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } @@ -394,6 +504,7 @@ static void DBFWriteHeader(DBFHandle psDBF) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static bool DBFFlushRecord(DBFHandle psDBF) { if (psDBF->bCurrentRecordModified && psDBF->nCurrentRecord > -1) { @@ -482,6 +593,8 @@ static bool DBFFlushRecord(DBFHandle psDBF) char szMessage[128]; <<<<<<< HEAD ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static int DBFFlushRecord(DBFHandle psDBF) { SAOffset nRecordOffset; @@ -502,8 +615,44 @@ static int DBFFlushRecord(DBFHandle psDBF) "Failure writing DBF record %d.", psDBF->nCurrentRecord); psDBF->sHooks.Error(szMessage); return FALSE; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= +static bool DBFFlushRecord(DBFHandle psDBF) +{ + if (psDBF->bCurrentRecordModified && psDBF->nCurrentRecord > -1) { + psDBF->bCurrentRecordModified = FALSE; + + const SAOffset nRecordOffset = + psDBF->nRecordLength * + STATIC_CAST(SAOffset, psDBF->nCurrentRecord) + + psDBF->nHeaderLength; + + /* -------------------------------------------------------------------- + */ + /* Guard FSeek with check for whether we're already at position; */ + /* no-op FSeeks defeat network filesystems' write buffering. */ + /* -------------------------------------------------------------------- + */ + if (psDBF->bRequireNextWriteSeek || + psDBF->sHooks.FTell(psDBF->fp) != nRecordOffset) { + if (psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0) != 0) { + char szMessage[128]; + snprintf( + szMessage, sizeof(szMessage), + "Failure seeking to position before writing DBF record %d.", + psDBF->nCurrentRecord); + psDBF->sHooks.Error(szMessage); + return false; + } + } + + if (psDBF->sHooks.FWrite(psDBF->pszCurrentRecord, psDBF->nRecordLength, + 1, psDBF->fp) != 1) { + char szMessage[128]; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(szMessage, sizeof(szMessage), "Failure writing DBF record %d.", psDBF->nCurrentRecord); psDBF->sHooks.Error(szMessage); @@ -522,7 +671,11 @@ static int DBFFlushRecord(DBFHandle psDBF) char ch = END_OF_FILE_CHARACTER; psDBF->sHooks.FWrite(&ch, 1, 1, psDBF->fp); } +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } @@ -536,7 +689,11 @@ static int DBFFlushRecord(DBFHandle psDBF) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static bool DBFLoadRecord(DBFHandle psDBF, int iRecord) +======= +static int DBFLoadRecord(DBFHandle psDBF, int iRecord) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { if (psDBF->nCurrentRecord != iRecord) { if (!DBFFlushRecord(psDBF)) @@ -585,12 +742,35 @@ static bool DBFLoadRecord(DBFHandle psDBF, int iRecord) <<<<<<< HEAD <<<<<<< HEAD return FALSE; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= +static bool DBFLoadRecord(DBFHandle psDBF, int iRecord) +{ + if (psDBF->nCurrentRecord != iRecord) { + if (!DBFFlushRecord(psDBF)) + return false; + + const SAOffset nRecordOffset = + psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + + psDBF->nHeaderLength; + + if (psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, SEEK_SET) != 0) { + char szMessage[128]; + snprintf(szMessage, sizeof(szMessage), + "fseek(%ld) failed on DBF file.", + STATIC_CAST(long, nRecordOffset)); + psDBF->sHooks.Error(szMessage); + return false; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } if (psDBF->sHooks.FRead(psDBF->pszCurrentRecord, psDBF->nRecordLength, 1, psDBF->fp) != 1) { char szMessage[128]; +<<<<<<< HEAD <<<<<<< HEAD snprintf(szMessage, sizeof(szMessage), "fread(%d) failed on DBF file.", psDBF->nRecordLength); @@ -607,6 +787,8 @@ static bool DBFLoadRecord(DBFHandle psDBF, int iRecord) */ psDBF->bRequireNextWriteSeek = TRUE; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(szMessage, sizeof(szMessage), "fread(%d) failed on DBF file.\n", psDBF->nRecordLength); @@ -615,6 +797,7 @@ static bool DBFLoadRecord(DBFHandle psDBF, int iRecord) } psDBF->nCurrentRecord = iRecord; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= return FALSE; @@ -626,6 +809,9 @@ static bool DBFLoadRecord(DBFHandle psDBF, int iRecord) if (psDBF->sHooks.FRead(psDBF->pszCurrentRecord, psDBF->nRecordLength, 1, psDBF->fp) != 1) { char szMessage[128]; +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(szMessage, sizeof(szMessage), "fread(%d) failed on DBF file.", psDBF->nRecordLength); psDBF->sHooks.Error(szMessage); @@ -634,8 +820,11 @@ static bool DBFLoadRecord(DBFHandle psDBF, int iRecord) psDBF->nCurrentRecord = iRecord; <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Require a seek for next write in case of mixed R/W operations. @@ -643,7 +832,11 @@ static bool DBFLoadRecord(DBFHandle psDBF, int iRecord) /* -------------------------------------------------------------------- */ psDBF->bRequireNextWriteSeek = TRUE; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } return true; @@ -657,6 +850,7 @@ void SHPAPI_CALL DBFUpdateHeader(DBFHandle psDBF) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (psDBF->bNoHeader) DBFWriteHeader(psDBF); @@ -671,18 +865,29 @@ void SHPAPI_CALL DBFUpdateHeader(DBFHandle psDBF) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) unsigned char abyFileHeader[32]; if (psDBF->bNoHeader) DBFWriteHeader(psDBF); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + if (psDBF->bNoHeader) + DBFWriteHeader(psDBF); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (!DBFFlushRecord(psDBF)) return; psDBF->sHooks.FSeek(psDBF->fp, 0, 0); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned char abyFileHeader[XBASE_FILEHDR_SZ] = {0}; @@ -726,6 +931,8 @@ void SHPAPI_CALL DBFUpdateHeader(DBFHandle psDBF) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->sHooks.FRead(abyFileHeader, 32, 1, psDBF->fp); abyFileHeader[1] = (unsigned char)psDBF->nUpdateYearSince1900; @@ -740,7 +947,30 @@ void SHPAPI_CALL DBFUpdateHeader(DBFHandle psDBF) psDBF->sHooks.FSeek(psDBF->fp, 0, 0); psDBF->sHooks.FWrite(abyFileHeader, 32, 1, psDBF->fp); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + + unsigned char abyFileHeader[XBASE_FILEHDR_SZ] = {0}; + psDBF->sHooks.FRead(abyFileHeader, 1, sizeof(abyFileHeader), psDBF->fp); + + abyFileHeader[1] = STATIC_CAST(unsigned char, psDBF->nUpdateYearSince1900); + abyFileHeader[2] = STATIC_CAST(unsigned char, psDBF->nUpdateMonth); + abyFileHeader[3] = STATIC_CAST(unsigned char, psDBF->nUpdateDay); + abyFileHeader[4] = STATIC_CAST(unsigned char, psDBF->nRecords & 0xFF); + abyFileHeader[5] = + STATIC_CAST(unsigned char, (psDBF->nRecords >> 8) & 0xFF); + abyFileHeader[6] = + STATIC_CAST(unsigned char, (psDBF->nRecords >> 16) & 0xFF); + abyFileHeader[7] = + STATIC_CAST(unsigned char, (psDBF->nRecords >> 24) & 0xFF); + + psDBF->sHooks.FSeek(psDBF->fp, 0, 0); + psDBF->sHooks.FWrite(abyFileHeader, sizeof(abyFileHeader), 1, psDBF->fp); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->sHooks.FFlush(psDBF->fp); } @@ -766,6 +996,7 @@ DBFHandle SHPAPI_CALL DBFOpen(const char *pszFilename, const char *pszAccess) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -774,6 +1005,11 @@ DBFHandle SHPAPI_CALL DBFOpen(const char *pszFilename, const char *pszAccess) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { SAHooks sHooks; @@ -782,6 +1018,7 @@ DBFHandle SHPAPI_CALL DBFOpen(const char *pszFilename, const char *pszAccess) return DBFOpenLL(pszFilename, pszAccess, &sHooks); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD } /************************************************************************/ @@ -802,6 +1039,9 @@ static int DBFGetLenWithoutExtension(const char *pszBasename) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -818,6 +1058,10 @@ static int DBFGetLenWithoutExtension(const char *pszBasename) } } return nLen; +<<<<<<< HEAD +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -831,6 +1075,7 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* -------------------------------------------------------------------- */ /* We only allow the access strings "rb" and "r+". */ @@ -861,6 +1106,8 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) DBFHandle psDBF; SAFile pfCPG; unsigned char *pabyBuf; @@ -877,7 +1124,20 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, strcmp(pszAccess, "r+b") != 0) return (NULL); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + /* -------------------------------------------------------------------- */ + /* We only allow the access strings "rb" and "r+". */ + /* -------------------------------------------------------------------- */ + if (strcmp(pszAccess, "r") != 0 && strcmp(pszAccess, "r+") != 0 && + strcmp(pszAccess, "rb") != 0 && strcmp(pszAccess, "rb+") != 0 && + strcmp(pszAccess, "r+b") != 0) + return SHPLIB_NULLPTR; + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (strcmp(pszAccess, "r") == 0) pszAccess = "rb"; @@ -887,6 +1147,7 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Compute the base (layer) name. If there is any extension */ /* on the passed in filename we will strip it off. */ @@ -934,6 +1195,8 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, <<<<<<< HEAD ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Compute the base (layer) name. If there is any extension */ /* on the passed in filename we will strip it off. */ /* -------------------------------------------------------------------- */ @@ -981,12 +1244,48 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, <<<<<<< HEAD return (NULL); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + /* Compute the base (layer) name. If there is any extension */ + /* on the passed in filename we will strip it off. */ + /* -------------------------------------------------------------------- */ + const int nLenWithoutExtension = DBFGetLenWithoutExtension(pszFilename); + char *pszFullname = STATIC_CAST(char *, malloc(nLenWithoutExtension + 5)); + memcpy(pszFullname, pszFilename, nLenWithoutExtension); + memcpy(pszFullname + nLenWithoutExtension, ".dbf", 5); + + DBFHandle psDBF = STATIC_CAST(DBFHandle, calloc(1, sizeof(DBFInfo))); + psDBF->fp = psHooks->FOpen(pszFullname, pszAccess); + memcpy(&(psDBF->sHooks), psHooks, sizeof(SAHooks)); + + if (psDBF->fp == SHPLIB_NULLPTR) { + memcpy(pszFullname + nLenWithoutExtension, ".DBF", 5); + psDBF->fp = psDBF->sHooks.FOpen(pszFullname, pszAccess); + } + + memcpy(pszFullname + nLenWithoutExtension, ".cpg", 5); + SAFile pfCPG = psHooks->FOpen(pszFullname, "r"); + if (pfCPG == SHPLIB_NULLPTR) { + memcpy(pszFullname + nLenWithoutExtension, ".CPG", 5); + pfCPG = psHooks->FOpen(pszFullname, "r"); + } + + free(pszFullname); + + if (psDBF->fp == SHPLIB_NULLPTR) { + free(psDBF); + if (pfCPG) + psHooks->FClose(pfCPG); + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } psDBF->bNoHeader = FALSE; @@ -998,6 +1297,7 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD const int nBufSize = 500; unsigned char *pabyBuf = STATIC_CAST(unsigned char *, malloc(nBufSize)); @@ -1010,11 +1310,19 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, pabyBuf = (unsigned char *)malloc(nBufSize); if (psDBF->sHooks.FRead(pabyBuf, 32, 1, psDBF->fp) != 1) { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + pabyBuf = (unsigned char *)malloc(nBufSize); + if (psDBF->sHooks.FRead(pabyBuf, 32, 1, psDBF->fp) != 1) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= const int nBufSize = 500; unsigned char *pabyBuf = STATIC_CAST(unsigned char *, malloc(nBufSize)); if (psDBF->sHooks.FRead(pabyBuf, XBASE_FILEHDR_SZ, 1, psDBF->fp) != 1) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->sHooks.FClose(psDBF->fp); if (pfCPG) psDBF->sHooks.FClose(pfCPG); @@ -1022,6 +1330,7 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, free(psDBF); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return SHPLIB_NULLPTR; ======= @@ -1032,12 +1341,19 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, ======= return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + return NULL; +======= + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } DBFSetLastModifiedDate(psDBF, pabyBuf[1], pabyBuf[2], pabyBuf[3]); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psDBF->nRecords = pabyBuf[4] | (pabyBuf[5] << 8) | (pabyBuf[6] << 16) | ((pabyBuf[7] & 0x7f) << 24); @@ -1065,6 +1381,8 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, if (psDBF->nRecordLength == 0 || nHeadLen < 32) { >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->nRecords = pabyBuf[4] + pabyBuf[5] * 256 + pabyBuf[6] * 256 * 256 + (pabyBuf[7] & 0x7f) * 256 * 256 * 256; @@ -1073,10 +1391,24 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, psDBF->iLanguageDriver = pabyBuf[29]; if (psDBF->nRecordLength == 0 || nHeadLen < 32) { +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= if (psDBF->nRecordLength == 0 || nHeadLen < XBASE_FILEHDR_SZ) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + psDBF->nRecords = pabyBuf[4] | (pabyBuf[5] << 8) | (pabyBuf[6] << 16) | + ((pabyBuf[7] & 0x7f) << 24); + + const int nHeadLen = pabyBuf[8] | (pabyBuf[9] << 8); + psDBF->nHeaderLength = nHeadLen; + psDBF->nRecordLength = pabyBuf[10] | (pabyBuf[11] << 8); + psDBF->iLanguageDriver = pabyBuf[29]; + + if (psDBF->nRecordLength == 0 || nHeadLen < XBASE_FILEHDR_SZ) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->sHooks.FClose(psDBF->fp); if (pfCPG) psDBF->sHooks.FClose(pfCPG); @@ -1084,6 +1416,7 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, free(psDBF); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return SHPLIB_NULLPTR; ======= @@ -1094,6 +1427,12 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, ======= return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + return NULL; +======= + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } const int nFields = (nHeadLen - XBASE_FILEHDR_SZ) / XBASE_FLDHDR_SZ; @@ -1101,6 +1440,7 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* coverity[tainted_data] */ psDBF->pszCurrentRecord = STATIC_CAST(char *, malloc(psDBF->nRecordLength)); @@ -1114,14 +1454,26 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, /* coverity[tainted_data] */ psDBF->pszCurrentRecord = STATIC_CAST(char *, malloc(psDBF->nRecordLength)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psDBF->pszCurrentRecord = (char *)malloc(psDBF->nRecordLength); +======= + /* coverity[tainted_data] */ + psDBF->pszCurrentRecord = STATIC_CAST(char *, malloc(psDBF->nRecordLength)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Figure out the code page from the LDID and CPG */ /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psDBF->pszCodePage = SHPLIB_NULLPTR; +======= + + psDBF->pszCodePage = NULL; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (pfCPG) { memset(pabyBuf, 0, nBufSize); psDBF->sHooks.FRead(pabyBuf, 1, nBufSize - 1, pfCPG); @@ -1146,12 +1498,25 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, <<<<<<< HEAD psDBF->pszCodePage = (char *)malloc(n + 1); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= psDBF->pszCodePage = STATIC_CAST(char *, malloc(n + 1)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + psDBF->pszCodePage = SHPLIB_NULLPTR; + if (pfCPG) { + memset(pabyBuf, 0, nBufSize); + psDBF->sHooks.FRead(pabyBuf, 1, nBufSize - 1, pfCPG); + const size_t n = strcspn(REINTERPRET_CAST(char *, pabyBuf), "\n\r"); + if (n > 0) { + pabyBuf[n] = '\0'; + psDBF->pszCodePage = STATIC_CAST(char *, malloc(n + 1)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(psDBF->pszCodePage, pabyBuf, n + 1); } psDBF->sHooks.FClose(pfCPG); @@ -1159,6 +1524,7 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) if (psDBF->pszCodePage == SHPLIB_NULLPTR && pabyBuf[29] != 0) { @@ -1171,16 +1537,29 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psDBF->pszCodePage == NULL && pabyBuf[29] != 0) { snprintf((char *)pabyBuf, nBufSize, "LDID/%d", psDBF->iLanguageDriver); psDBF->pszCodePage = (char *)malloc(strlen((char *)pabyBuf) + 1); strcpy(psDBF->pszCodePage, (char *)pabyBuf); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + if (psDBF->pszCodePage == SHPLIB_NULLPTR && pabyBuf[29] != 0) { + snprintf(REINTERPRET_CAST(char *, pabyBuf), nBufSize, "LDID/%d", + psDBF->iLanguageDriver); + psDBF->pszCodePage = STATIC_CAST( + char *, malloc(strlen(REINTERPRET_CAST(char *, pabyBuf)) + 1)); + strcpy(psDBF->pszCodePage, REINTERPRET_CAST(char *, pabyBuf)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* -------------------------------------------------------------------- */ @@ -1188,9 +1567,12 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD pabyBuf = STATIC_CAST(unsigned char *, SfRealloc(pabyBuf, nHeadLen)); psDBF->pszHeader = REINTERPRET_CAST(char *, pabyBuf); +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->sHooks.FSeek(psDBF->fp, XBASE_FILEHDR_SZ, 0); if (psDBF->sHooks.FRead(pabyBuf, nHeadLen - XBASE_FILEHDR_SZ, 1, @@ -1302,12 +1684,65 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, <<<<<<< HEAD psDBF->pachFieldType[iField] = (char)pabyFInfo[11]; <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= psDBF->pachFieldType[iField] = STATIC_CAST(char, pabyFInfo[11]); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + pabyBuf = STATIC_CAST(unsigned char *, SfRealloc(pabyBuf, nHeadLen)); + psDBF->pszHeader = REINTERPRET_CAST(char *, pabyBuf); + + psDBF->sHooks.FSeek(psDBF->fp, XBASE_FILEHDR_SZ, 0); + if (psDBF->sHooks.FRead(pabyBuf, nHeadLen - XBASE_FILEHDR_SZ, 1, + psDBF->fp) != 1) { + psDBF->sHooks.FClose(psDBF->fp); + free(pabyBuf); + free(psDBF->pszCurrentRecord); + free(psDBF->pszCodePage); + free(psDBF); + return SHPLIB_NULLPTR; + } + + psDBF->panFieldOffset = STATIC_CAST(int *, malloc(sizeof(int) * nFields)); + psDBF->panFieldSize = STATIC_CAST(int *, malloc(sizeof(int) * nFields)); + psDBF->panFieldDecimals = STATIC_CAST(int *, malloc(sizeof(int) * nFields)); + psDBF->pachFieldType = STATIC_CAST(char *, malloc(sizeof(char) * nFields)); + + for (int iField = 0; iField < nFields; iField++) { + unsigned char *pabyFInfo = pabyBuf + iField * XBASE_FLDHDR_SZ; + if (pabyFInfo[0] == HEADER_RECORD_TERMINATOR) { + psDBF->nFields = iField; + break; + } + + if (pabyFInfo[11] == 'N' || pabyFInfo[11] == 'F') { + psDBF->panFieldSize[iField] = pabyFInfo[16]; + psDBF->panFieldDecimals[iField] = pabyFInfo[17]; + } + else { + psDBF->panFieldSize[iField] = pabyFInfo[16]; + psDBF->panFieldDecimals[iField] = 0; + + /* + ** The following seemed to be used sometimes to handle files with + long + ** string fields, but in other cases (such as bug 1202) the decimals + field + ** just seems to indicate some sort of preferred formatting, not + very + ** wide fields. So I have disabled this code. FrankW. + psDBF->panFieldSize[iField] = pabyFInfo[16] + + pabyFInfo[17]*256; psDBF->panFieldDecimals[iField] = 0; + */ + } + + psDBF->pachFieldType[iField] = STATIC_CAST(char, pabyFInfo[11]); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (iField == 0) psDBF->panFieldOffset[iField] = 1; else @@ -1318,8 +1753,12 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Check that the total width of fields does not exceed the record width */ if (psDBF->nFields > 0 && psDBF->panFieldOffset[psDBF->nFields - 1] + psDBF->panFieldSize[psDBF->nFields - 1] > @@ -1332,6 +1771,7 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, psDBF->bRequireNextWriteSeek = TRUE; +<<<<<<< HEAD <<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -1339,6 +1779,9 @@ DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszFilename, const char *pszAccess, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return (psDBF); } @@ -1350,6 +1793,7 @@ void SHPAPI_CALL DBFClose(DBFHandle psDBF) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (psDBF == SHPLIB_NULLPTR) ======= @@ -1361,6 +1805,12 @@ void SHPAPI_CALL DBFClose(DBFHandle psDBF) ======= if (psDBF == SHPLIB_NULLPTR) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (psDBF == NULL) +======= + if (psDBF == SHPLIB_NULLPTR) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return; /* -------------------------------------------------------------------- */ @@ -1371,6 +1821,7 @@ void SHPAPI_CALL DBFClose(DBFHandle psDBF) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD CPL_IGNORE_RET_VAL_INT(DBFFlushRecord(psDBF)); @@ -1378,12 +1829,24 @@ void SHPAPI_CALL DBFClose(DBFHandle psDBF) /* Update last access date, and number of records if we have */ /* write access. */ ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) DBFFlushRecord(psDBF); /* -------------------------------------------------------------------- */ /* Update last access date, and number of records if we have */ /* write access. */ +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + CPL_IGNORE_RET_VAL_INT(DBFFlushRecord(psDBF)); + + /* -------------------------------------------------------------------- */ + /* Update last access date, and number of records if we have */ + /* write access. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ if (psDBF->bUpdated) DBFUpdateHeader(psDBF); @@ -1393,6 +1856,7 @@ void SHPAPI_CALL DBFClose(DBFHandle psDBF) /* -------------------------------------------------------------------- */ psDBF->sHooks.FClose(psDBF->fp); +<<<<<<< HEAD <<<<<<< HEAD if (psDBF->panFieldOffset != SHPLIB_NULLPTR) { ======= @@ -1422,6 +1886,12 @@ void SHPAPI_CALL DBFClose(DBFHandle psDBF) ======= if (psDBF->panFieldOffset != SHPLIB_NULLPTR) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (psDBF->panFieldOffset != NULL) { +======= + if (psDBF->panFieldOffset != SHPLIB_NULLPTR) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) free(psDBF->panFieldOffset); free(psDBF->panFieldSize); free(psDBF->panFieldDecimals); @@ -1430,6 +1900,7 @@ void SHPAPI_CALL DBFClose(DBFHandle psDBF) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (psDBF->pszWorkField != SHPLIB_NULLPTR) ======= @@ -1441,6 +1912,12 @@ void SHPAPI_CALL DBFClose(DBFHandle psDBF) ======= if (psDBF->pszWorkField != SHPLIB_NULLPTR) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (psDBF->pszWorkField != NULL) +======= + if (psDBF->pszWorkField != SHPLIB_NULLPTR) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) free(psDBF->pszWorkField); free(psDBF->pszHeader); @@ -1488,6 +1965,7 @@ DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszFilename, { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* -------------------------------------------------------------------- */ /* Compute the base (layer) name. If there is any extension */ @@ -1544,6 +2022,8 @@ DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszFilename, } ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) DBFHandle psDBF; SAFile fp; char *pszFullname, *pszBasename; @@ -1600,6 +2080,7 @@ DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszFilename, snprintf(pszFullname, nFullnameLen, "%s.cpg", pszBasename); if (pszCodePage != NULL) { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -1608,6 +2089,41 @@ DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszFilename, int ldid = -1; if (pszCodePage != SHPLIB_NULLPTR) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + /* -------------------------------------------------------------------- */ + /* Compute the base (layer) name. If there is any extension */ + /* on the passed in filename we will strip it off. */ + /* -------------------------------------------------------------------- */ + const int nLenWithoutExtension = DBFGetLenWithoutExtension(pszFilename); + char *pszFullname = STATIC_CAST(char *, malloc(nLenWithoutExtension + 5)); + memcpy(pszFullname, pszFilename, nLenWithoutExtension); + memcpy(pszFullname + nLenWithoutExtension, ".dbf", 5); + + /* -------------------------------------------------------------------- */ + /* Create the file. */ + /* -------------------------------------------------------------------- */ + SAFile fp = psHooks->FOpen(pszFullname, "wb"); + if (fp == SHPLIB_NULLPTR) { + free(pszFullname); + return SHPLIB_NULLPTR; + } + + char chZero = '\0'; + psHooks->FWrite(&chZero, 1, 1, fp); + psHooks->FClose(fp); + + fp = psHooks->FOpen(pszFullname, "rb+"); + if (fp == SHPLIB_NULLPTR) { + free(pszFullname); + return SHPLIB_NULLPTR; + } + + memcpy(pszFullname + nLenWithoutExtension, ".cpg", 5); + int ldid = -1; + if (pszCodePage != SHPLIB_NULLPTR) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (strncmp(pszCodePage, "LDID/", 5) == 0) { ldid = atoi(pszCodePage + 5); if (ldid > 255) @@ -1618,6 +2134,7 @@ DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszFilename, SAFile fpCPG = psHooks->FOpen(pszFullname, "w"); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psHooks->FWrite( CONST_CAST(void *, STATIC_CAST(const void *, pszCodePage)), @@ -1636,6 +2153,8 @@ DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszFilename, /* -------------------------------------------------------------------- */ DBFHandle psDBF = STATIC_CAST(DBFHandle, calloc(1, sizeof(DBFInfo))); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psHooks->FWrite((char *)pszCodePage, strlen(pszCodePage), 1, fpCPG); psHooks->FClose(fpCPG); @@ -1652,7 +2171,28 @@ DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszFilename, /* Create the info structure. */ /* -------------------------------------------------------------------- */ psDBF = (DBFHandle)calloc(1, sizeof(DBFInfo)); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + psHooks->FWrite( + CONST_CAST(void *, STATIC_CAST(const void *, pszCodePage)), + strlen(pszCodePage), 1, fpCPG); + psHooks->FClose(fpCPG); + } + } + if (pszCodePage == SHPLIB_NULLPTR || ldid >= 0) { + psHooks->Remove(pszFullname); + } + + free(pszFullname); + + /* -------------------------------------------------------------------- */ + /* Create the info structure. */ + /* -------------------------------------------------------------------- */ + DBFHandle psDBF = STATIC_CAST(DBFHandle, calloc(1, sizeof(DBFInfo))); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= @@ -1699,6 +2239,7 @@ DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszFilename, psDBF->iLanguageDriver = ldid > 0 ? ldid : 0; <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psDBF->pszCodePage = SHPLIB_NULLPTR; if (pszCodePage) { @@ -1712,12 +2253,21 @@ DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszFilename, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + psDBF->pszCodePage = NULL; + if (pszCodePage) { + psDBF->pszCodePage = (char *)malloc(strlen(pszCodePage) + 1); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= psDBF->pszCodePage = SHPLIB_NULLPTR; if (pszCodePage) { psDBF->pszCodePage = STATIC_CAST(char *, malloc(strlen(pszCodePage) + 1)); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) strcpy(psDBF->pszCodePage, pszCodePage); } DBFSetLastModifiedDate(psDBF, 95, 7, 26); /* dummy date */ @@ -1725,12 +2275,17 @@ DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszFilename, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) DBFSetWriteEndOfFileChar(psDBF, TRUE); psDBF->bRequireNextWriteSeek = TRUE; +<<<<<<< HEAD <<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -1738,6 +2293,9 @@ DBFHandle SHPAPI_CALL DBFCreateLL(const char *pszFilename, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return (psDBF); } @@ -1756,6 +2314,7 @@ int SHPAPI_CALL DBFAddField(DBFHandle psDBF, const char *pszFieldName, chNativeType = 'L'; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD else if (eType == FTDate) chNativeType = 'D'; @@ -1767,6 +2326,12 @@ int SHPAPI_CALL DBFAddField(DBFHandle psDBF, const char *pszFieldName, else if (eType == FTDate) chNativeType = 'D'; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + else if (eType == FTDate) + chNativeType = 'D'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) else if (eType == FTString) chNativeType = 'C'; else @@ -1808,9 +2373,12 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) char *pszFInfo; int i; int nOldRecordLength, nOldHeaderLength; @@ -1818,9 +2386,14 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, char chFieldFill; SAOffset nRecordOffset; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* make sure that everything is written in .dbf */ if (!DBFFlushRecord(psDBF)) return -1; @@ -1828,8 +2401,12 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psDBF->nHeaderLength + XBASE_FLDHDR_SZ > 65535) { char szMessage[128]; snprintf(szMessage, sizeof(szMessage), @@ -1840,6 +2417,7 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, return -1; } +<<<<<<< HEAD <<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -1847,6 +2425,9 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Do some checking to ensure we can add records to this file. */ /* -------------------------------------------------------------------- */ @@ -1855,6 +2436,7 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (nWidth > XBASE_FLD_MAX_WIDTH) nWidth = XBASE_FLD_MAX_WIDTH; @@ -1868,6 +2450,14 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, if (nWidth > XBASE_FLD_MAX_WIDTH) nWidth = XBASE_FLD_MAX_WIDTH; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (nWidth > 255) + nWidth = 255; +======= + if (nWidth > XBASE_FLD_MAX_WIDTH) + nWidth = XBASE_FLD_MAX_WIDTH; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psDBF->nRecordLength + nWidth > 65535) { char szMessage[128]; @@ -1879,6 +2469,7 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, return -1; } <<<<<<< HEAD +<<<<<<< HEAD ======= const int nOldRecordLength = psDBF->nRecordLength; @@ -1894,6 +2485,15 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + +<<<<<<< HEAD +======= + const int nOldRecordLength = psDBF->nRecordLength; + const int nOldHeaderLength = psDBF->nHeaderLength; + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* SfRealloc all the arrays larger to hold the additional field */ /* information. */ @@ -1902,6 +2502,7 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psDBF->panFieldOffset = STATIC_CAST( int *, SfRealloc(psDBF->panFieldOffset, sizeof(int) * psDBF->nFields)); @@ -1916,6 +2517,8 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, psDBF->pachFieldType = STATIC_CAST( char *, SfRealloc(psDBF->pachFieldType, sizeof(char) * psDBF->nFields)); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->panFieldOffset = (int *)SfRealloc(psDBF->panFieldOffset, sizeof(int) * psDBF->nFields); @@ -1927,7 +2530,24 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, psDBF->pachFieldType = (char *)SfRealloc(psDBF->pachFieldType, sizeof(char) * psDBF->nFields); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + psDBF->panFieldOffset = STATIC_CAST( + int *, SfRealloc(psDBF->panFieldOffset, sizeof(int) * psDBF->nFields)); + + psDBF->panFieldSize = STATIC_CAST( + int *, SfRealloc(psDBF->panFieldSize, sizeof(int) * psDBF->nFields)); + + psDBF->panFieldDecimals = + STATIC_CAST(int *, SfRealloc(psDBF->panFieldDecimals, + sizeof(int) * psDBF->nFields)); + + psDBF->pachFieldType = STATIC_CAST( + char *, SfRealloc(psDBF->pachFieldType, sizeof(char) * psDBF->nFields)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= psDBF->panFieldOffset = @@ -1962,8 +2582,12 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psDBF->nHeaderLength += XBASE_FLDHDR_SZ; +======= + psDBF->nHeaderLength += 32; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->bUpdated = FALSE; psDBF->pszHeader = STATIC_CAST( @@ -1998,18 +2622,36 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, else strncpy(pszFInfo, pszFieldName, 10); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= strncpy(pszFInfo, pszFieldName, XBASE_FLDNAME_LEN_WRITE); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + psDBF->nHeaderLength += XBASE_FLDHDR_SZ; + psDBF->bUpdated = FALSE; + + psDBF->pszHeader = STATIC_CAST( + char *, SfRealloc(psDBF->pszHeader, psDBF->nFields * XBASE_FLDHDR_SZ)); + + char *pszFInfo = psDBF->pszHeader + XBASE_FLDHDR_SZ * (psDBF->nFields - 1); + + for (int i = 0; i < XBASE_FLDHDR_SZ; i++) + pszFInfo[i] = '\0'; + + strncpy(pszFInfo, pszFieldName, XBASE_FLDNAME_LEN_WRITE); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pszFInfo[11] = psDBF->pachFieldType[psDBF->nFields - 1]; if (chType == 'C') { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD pszFInfo[16] = STATIC_CAST(unsigned char, nWidth % 256); pszFInfo[17] = STATIC_CAST(unsigned char, nWidth / 256); @@ -2018,12 +2660,15 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, pszFInfo[16] = STATIC_CAST(unsigned char, nWidth); pszFInfo[17] = STATIC_CAST(unsigned char, nDecimals); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pszFInfo[16] = (unsigned char)(nWidth % 256); pszFInfo[17] = (unsigned char)(nWidth / 256); } else { pszFInfo[16] = (unsigned char)nWidth; pszFInfo[17] = (unsigned char)nDecimals; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= pszFInfo[16] = (unsigned char)(nWidth % 256); @@ -2033,6 +2678,8 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, pszFInfo[16] = (unsigned char)nWidth; pszFInfo[17] = (unsigned char)nDecimals; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= pszFInfo[16] = STATIC_CAST(unsigned char, nWidth % 256); pszFInfo[17] = STATIC_CAST(unsigned char, nWidth / 256); @@ -2040,7 +2687,11 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, else { pszFInfo[16] = STATIC_CAST(unsigned char, nWidth); pszFInfo[17] = STATIC_CAST(unsigned char, nDecimals); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* -------------------------------------------------------------------- */ @@ -2048,6 +2699,7 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psDBF->pszCurrentRecord = STATIC_CAST( char *, SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength)); @@ -2063,6 +2715,14 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, psDBF->pszCurrentRecord = STATIC_CAST( char *, SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psDBF->pszCurrentRecord = + (char *)SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength); +======= + psDBF->pszCurrentRecord = STATIC_CAST( + char *, SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* we're done if dealing with new .dbf */ if (psDBF->bNoHeader) @@ -2075,6 +2735,7 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, /* alloc record */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char *pszRecord = STATIC_CAST(char *, malloc(sizeof(char) * psDBF->nRecordLength)); @@ -2084,9 +2745,17 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, ======= pszRecord = (char *)malloc(sizeof(char) * psDBF->nRecordLength); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + pszRecord = (char *)malloc(sizeof(char) * psDBF->nRecordLength); +======= + char *pszRecord = + STATIC_CAST(char *, malloc(sizeof(char) * psDBF->nRecordLength)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) const char chFieldFill = DBFGetNullCharacter(chType); +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD ======= @@ -2110,12 +2779,15 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, return -1; } ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (i = psDBF->nRecords - 1; i >= 0; --i) { nRecordOffset = nOldRecordLength * (SAOffset)i + nOldHeaderLength; /* load record */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FRead(pszRecord, nOldRecordLength, 1, psDBF->fp); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= for (i = psDBF->nRecords - 1; i >= 0; --i) { @@ -2126,6 +2798,13 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, psDBF->sHooks.FRead(pszRecord, nOldRecordLength, 1, psDBF->fp); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + SAOffset nRecordOffset; + for (int i = psDBF->nRecords - 1; i >= 0; --i) { + nRecordOffset = + nOldRecordLength * STATIC_CAST(SAOffset, i) + nOldHeaderLength; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* load record */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); @@ -2134,13 +2813,18 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, free(pszRecord); return -1; } +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* set new field's value to NULL */ memset(pszRecord + nOldRecordLength, chFieldFill, nWidth); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, i) + psDBF->nHeaderLength; @@ -2172,13 +2856,25 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, psDBF->sHooks.FWrite(pszRecord, psDBF->nRecordLength, 1, psDBF->fp); >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) nRecordOffset = psDBF->nRecordLength * (SAOffset)i + psDBF->nHeaderLength; /* move record to the new place */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FWrite(pszRecord, psDBF->nRecordLength, 1, psDBF->fp); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, i) + + psDBF->nHeaderLength; + + /* move record to the new place*/ + psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); + psDBF->sHooks.FWrite(pszRecord, psDBF->nRecordLength, 1, psDBF->fp); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } if (psDBF->bWriteEndOfFileChar) { @@ -2190,6 +2886,10 @@ int SHPAPI_CALL DBFAddNativeFieldType(DBFHandle psDBF, const char *pszFieldName, psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FWrite(&ch, 1, 1, psDBF->fp); +<<<<<<< HEAD +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* free record */ @@ -2217,6 +2917,7 @@ static void *DBFReadAttribute(DBFHandle psDBF, int hEntity, int iField, { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* -------------------------------------------------------------------- */ /* Verify selection. */ @@ -2252,6 +2953,8 @@ static void *DBFReadAttribute(DBFHandle psDBF, int hEntity, int iField, return SHPLIB_NULLPTR; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) unsigned char *pabyRec; void *pReturnField = NULL; @@ -2274,10 +2977,33 @@ static void *DBFReadAttribute(DBFHandle psDBF, int hEntity, int iField, unsigned char *pabyRec = REINTERPRET_CAST(unsigned char *, psDBF->pszCurrentRecord); +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + /* -------------------------------------------------------------------- */ + /* Verify selection. */ + /* -------------------------------------------------------------------- */ + if (hEntity < 0 || hEntity >= psDBF->nRecords) + return SHPLIB_NULLPTR; + + if (iField < 0 || iField >= psDBF->nFields) + return SHPLIB_NULLPTR; + + /* -------------------------------------------------------------------- */ + /* Have we read the record? */ + /* -------------------------------------------------------------------- */ + if (!DBFLoadRecord(psDBF, hEntity)) + return SHPLIB_NULLPTR; + + unsigned char *pabyRec = + REINTERPRET_CAST(unsigned char *, psDBF->pszCurrentRecord); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Ensure we have room to extract the target field. */ /* -------------------------------------------------------------------- */ @@ -2285,6 +3011,7 @@ static void *DBFReadAttribute(DBFHandle psDBF, int hEntity, int iField, psDBF->nWorkFieldLength = psDBF->panFieldSize[iField] + 100; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (psDBF->pszWorkField == SHPLIB_NULLPTR) psDBF->pszWorkField = @@ -2317,6 +3044,8 @@ static void *DBFReadAttribute(DBFHandle psDBF, int hEntity, int iField, /* -------------------------------------------------------------------- */ <<<<<<< HEAD ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psDBF->pszWorkField == NULL) psDBF->pszWorkField = (char *)malloc(psDBF->nWorkFieldLength); else @@ -2331,16 +3060,33 @@ static void *DBFReadAttribute(DBFHandle psDBF, int hEntity, int iField, memcpy(psDBF->pszWorkField, ((const char *)pabyRec) + psDBF->panFieldOffset[iField], <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + if (psDBF->pszWorkField == SHPLIB_NULLPTR) + psDBF->pszWorkField = + STATIC_CAST(char *, malloc(psDBF->nWorkFieldLength)); + else + psDBF->pszWorkField = STATIC_CAST( + char *, realloc(psDBF->pszWorkField, psDBF->nWorkFieldLength)); + } + + /* -------------------------------------------------------------------- */ +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Extract the requested field. */ /* -------------------------------------------------------------------- */ memcpy(psDBF->pszWorkField, REINTERPRET_CAST(const char *, pabyRec) + psDBF->panFieldOffset[iField], +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->panFieldSize[iField]); psDBF->pszWorkField[psDBF->panFieldSize[iField]] = '\0'; @@ -2368,6 +3114,7 @@ static void *DBFReadAttribute(DBFHandle psDBF, int hEntity, int iField, else { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char *pchSrc = psDBF->pszWorkField; char *pchDst = pchSrc; @@ -2382,11 +3129,20 @@ static void *DBFReadAttribute(DBFHandle psDBF, int hEntity, int iField, pchDst = pchSrc = psDBF->pszWorkField; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + char *pchSrc, *pchDst; + + pchDst = pchSrc = psDBF->pszWorkField; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= char *pchSrc = psDBF->pszWorkField; char *pchDst = pchSrc; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) while (*pchSrc == ' ') pchSrc++; @@ -2401,6 +3157,7 @@ static void *DBFReadAttribute(DBFHandle psDBF, int hEntity, int iField, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return pReturnField; ======= @@ -2412,6 +3169,12 @@ static void *DBFReadAttribute(DBFHandle psDBF, int hEntity, int iField, ======= return pReturnField; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + return (pReturnField); +======= + return pReturnField; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -2425,6 +3188,7 @@ int SHPAPI_CALL DBFReadIntegerAttribute(DBFHandle psDBF, int iRecord, { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int *pnValue = STATIC_CAST(int *, DBFReadAttribute(psDBF, iRecord, iField, 'I')); @@ -2447,6 +3211,8 @@ int SHPAPI_CALL DBFReadIntegerAttribute(DBFHandle psDBF, int iRecord, return (*pnValue); >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int *pnValue; pnValue = (int *)DBFReadAttribute(psDBF, iRecord, iField, 'I'); @@ -2455,10 +3221,22 @@ int SHPAPI_CALL DBFReadIntegerAttribute(DBFHandle psDBF, int iRecord, return 0; else return (*pnValue); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= return *pnValue; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + int *pnValue = + STATIC_CAST(int *, DBFReadAttribute(psDBF, iRecord, iField, 'I')); + + if (pnValue == SHPLIB_NULLPTR) + return 0; + else + return *pnValue; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -2472,6 +3250,7 @@ double SHPAPI_CALL DBFReadDoubleAttribute(DBFHandle psDBF, int iRecord, { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD double *pdValue = STATIC_CAST(double *, DBFReadAttribute(psDBF, iRecord, iField, 'N')); @@ -2494,6 +3273,8 @@ double SHPAPI_CALL DBFReadDoubleAttribute(DBFHandle psDBF, int iRecord, return (*pdValue); >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) double *pdValue; pdValue = (double *)DBFReadAttribute(psDBF, iRecord, iField, 'N'); @@ -2502,10 +3283,22 @@ double SHPAPI_CALL DBFReadDoubleAttribute(DBFHandle psDBF, int iRecord, return 0.0; else return (*pdValue); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= return *pdValue; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + double *pdValue = + STATIC_CAST(double *, DBFReadAttribute(psDBF, iRecord, iField, 'N')); + + if (pdValue == SHPLIB_NULLPTR) + return 0.0; + else + return *pdValue; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -2519,6 +3312,7 @@ const char SHPAPI_CALL1(*) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD { return STATIC_CAST(const char *, @@ -2532,11 +3326,19 @@ const char SHPAPI_CALL1(*) return ((const char *)DBFReadAttribute(psDBF, iRecord, iField, 'C')); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +{ + return ((const char *)DBFReadAttribute(psDBF, iRecord, iField, 'C')); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= { return STATIC_CAST(const char *, DBFReadAttribute(psDBF, iRecord, iField, 'C')); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -2550,6 +3352,7 @@ const char SHPAPI_CALL1(*) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD { return STATIC_CAST(const char *, @@ -2563,11 +3366,19 @@ const char SHPAPI_CALL1(*) return ((const char *)DBFReadAttribute(psDBF, iRecord, iField, 'L')); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +{ + return ((const char *)DBFReadAttribute(psDBF, iRecord, iField, 'L')); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= { return STATIC_CAST(const char *, DBFReadAttribute(psDBF, iRecord, iField, 'L')); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -2579,6 +3390,7 @@ const char SHPAPI_CALL1(*) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static bool DBFIsValueNULL(char chType, const char *pszValue) ======= static int DBFIsValueNULL(char chType, const char *pszValue) @@ -2586,10 +3398,17 @@ static int DBFIsValueNULL(char chType, const char *pszValue) ======= static int DBFIsValueNULL(char chType, const char *pszValue) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +static int DBFIsValueNULL(char chType, const char *pszValue) +======= +static bool DBFIsValueNULL(char chType, const char *pszValue) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { if (pszValue == SHPLIB_NULLPTR) return true; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD ======= @@ -2608,6 +3427,13 @@ static bool DBFIsValueNULL(char chType, const char *pszValue) return TRUE; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + if (pszValue == NULL) + return TRUE; + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) switch (chType) { case 'N': case 'F': @@ -2615,6 +3441,7 @@ static bool DBFIsValueNULL(char chType, const char *pszValue) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) ** We accept all asterisks or all blanks as NULL @@ -2631,6 +3458,8 @@ static bool DBFIsValueNULL(char chType, const char *pszValue) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ** We accept all asterisks or all blanks as NULL ** though according to the spec I think it should be all ** asterisks. @@ -2644,10 +3473,25 @@ static bool DBFIsValueNULL(char chType, const char *pszValue) if (pszValue[i] != ' ') <<<<<<< HEAD return FALSE; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= return false; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + ** We accept all asterisks or all blanks as NULL + ** though according to the spec I think it should be all + ** asterisks. + */ + if (pszValue[0] == '*') + return true; + + for (int i = 0; pszValue[i] != '\0'; i++) { + if (pszValue[i] != ' ') + return false; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } return true; @@ -2677,16 +3521,20 @@ int SHPAPI_CALL DBFIsAttributeNULL(DBFHandle psDBF, int iRecord, int iField) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD const char *pszValue = DBFReadStringAttribute(psDBF, iRecord, iField); if (pszValue == SHPLIB_NULLPTR) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) const char *pszValue; pszValue = DBFReadStringAttribute(psDBF, iRecord, iField); if (pszValue == NULL) +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= const char *pszValue; @@ -2695,11 +3543,17 @@ int SHPAPI_CALL DBFIsAttributeNULL(DBFHandle psDBF, int iRecord, int iField) if (pszValue == NULL) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= const char *pszValue = DBFReadStringAttribute(psDBF, iRecord, iField); if (pszValue == SHPLIB_NULLPTR) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return TRUE; return DBFIsValueNULL(psDBF->pachFieldType[iField], pszValue); @@ -2715,6 +3569,7 @@ int SHPAPI_CALL DBFGetFieldCount(DBFHandle psDBF) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -2723,6 +3578,11 @@ int SHPAPI_CALL DBFGetFieldCount(DBFHandle psDBF) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return (psDBF->nFields); } @@ -2737,6 +3597,7 @@ int SHPAPI_CALL DBFGetRecordCount(DBFHandle psDBF) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -2745,6 +3606,11 @@ int SHPAPI_CALL DBFGetRecordCount(DBFHandle psDBF) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return (psDBF->nRecords); } @@ -2756,6 +3622,7 @@ int SHPAPI_CALL DBFGetRecordCount(DBFHandle psDBF) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD /* pszFieldName must be at least XBASE_FLDNAME_LEN_READ+1 (=12) */ /* bytes long. */ ======= @@ -2768,6 +3635,13 @@ int SHPAPI_CALL DBFGetRecordCount(DBFHandle psDBF) /* pszFieldName must be at least XBASE_FLDNAME_LEN_READ+1 (=12) */ /* bytes long. */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + +======= +/* pszFieldName must be at least XBASE_FLDNAME_LEN_READ+1 (=12) */ +/* bytes long. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /************************************************************************/ DBFFieldType SHPAPI_CALL DBFGetFieldInfo(DBFHandle psDBF, int iField, @@ -2776,6 +3650,7 @@ DBFFieldType SHPAPI_CALL DBFGetFieldInfo(DBFHandle psDBF, int iField, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -2784,12 +3659,18 @@ DBFFieldType SHPAPI_CALL DBFGetFieldInfo(DBFHandle psDBF, int iField, ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { if (iField < 0 || iField >= psDBF->nFields) return (FTInvalid); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (pnWidth != SHPLIB_NULLPTR) *pnWidth = psDBF->panFieldSize[iField]; @@ -2824,6 +3705,8 @@ DBFFieldType SHPAPI_CALL DBFGetFieldInfo(DBFHandle psDBF, int iField, for (i = 10; i > 0 && pszFieldName[i] == ' '; i--) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (pnWidth != NULL) *pnWidth = psDBF->panFieldSize[iField]; @@ -2836,8 +3719,18 @@ DBFFieldType SHPAPI_CALL DBFGetFieldInfo(DBFHandle psDBF, int iField, strncpy(pszFieldName, (char *)psDBF->pszHeader + iField * 32, 11); pszFieldName[11] = '\0'; for (i = 10; i > 0 && pszFieldName[i] == ' '; i--) +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + if (pnWidth != SHPLIB_NULLPTR) + *pnWidth = psDBF->panFieldSize[iField]; + + if (pnDecimals != SHPLIB_NULLPTR) + *pnDecimals = psDBF->panFieldDecimals[iField]; + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (pszFieldName != SHPLIB_NULLPTR) { strncpy(pszFieldName, STATIC_CAST(char *, psDBF->pszHeader) + @@ -2846,7 +3739,11 @@ DBFFieldType SHPAPI_CALL DBFGetFieldInfo(DBFHandle psDBF, int iField, pszFieldName[XBASE_FLDNAME_LEN_READ] = '\0'; for (int i = XBASE_FLDNAME_LEN_READ - 1; i > 0 && pszFieldName[i] == ' '; i--) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pszFieldName[i] = '\0'; } @@ -2855,24 +3752,33 @@ DBFFieldType SHPAPI_CALL DBFGetFieldInfo(DBFHandle psDBF, int iField, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD else if (psDBF->pachFieldType[iField] == 'D') return (FTDate); +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) else if (psDBF->pachFieldType[iField] == 'N' || psDBF->pachFieldType[iField] == 'F') { if (psDBF->panFieldDecimals[iField] > 0) { /* || psDBF->panFieldSize[iField] >= 10 ) */ /* GDAL bug #809 */ return (FTDouble); +<<<<<<< HEAD } ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= else if (psDBF->pachFieldType[iField] == 'D') return (FTDate); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) else if (psDBF->pachFieldType[iField] == 'N' || psDBF->pachFieldType[iField] == 'F') { if (psDBF->panFieldDecimals[iField] > 0) { @@ -2880,12 +3786,17 @@ DBFFieldType SHPAPI_CALL DBFGetFieldInfo(DBFHandle psDBF, int iField, return (FTDouble); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= } >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + } +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) else return (FTInteger); } @@ -2899,6 +3810,7 @@ DBFFieldType SHPAPI_CALL DBFGetFieldInfo(DBFHandle psDBF, int iField, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD /* */ /* Write an attribute record to the file. */ /************************************************************************/ @@ -2915,6 +3827,8 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* */ /* Write an attribute record to the file. */ @@ -2933,10 +3847,28 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, if (hEntity < 0 || hEntity > psDBF->nRecords) return false; +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= +/* */ +/* Write an attribute record to the file. */ +/************************************************************************/ + +static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, + void *pValue) +{ + /* -------------------------------------------------------------------- */ + /* Is this a valid record? */ + /* -------------------------------------------------------------------- */ + if (hEntity < 0 || hEntity > psDBF->nRecords) + return false; + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psDBF->bNoHeader) DBFWriteHeader(psDBF); @@ -2947,6 +3879,7 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, if (!DBFFlushRecord(psDBF)) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return false; @@ -2955,20 +3888,29 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return FALSE; psDBF->nRecords++; for (i = 0; i < psDBF->nRecordLength; i++) <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= return false; psDBF->nRecords++; for (int i = 0; i < psDBF->nRecordLength; i++) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->pszCurrentRecord[i] = ' '; psDBF->nCurrentRecord = hEntity; @@ -2981,6 +3923,7 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, if (!DBFLoadRecord(psDBF, hEntity)) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return false; @@ -2996,12 +3939,21 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, pabyRec = (unsigned char *)psDBF->pszCurrentRecord; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + return FALSE; + + pabyRec = (unsigned char *)psDBF->pszCurrentRecord; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= return false; unsigned char *pabyRec = REINTERPRET_CAST(unsigned char *, psDBF->pszCurrentRecord); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->bCurrentRecordModified = TRUE; psDBF->bUpdated = TRUE; @@ -3013,6 +3965,7 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (pValue == SHPLIB_NULLPTR) { memset(pabyRec + psDBF->panFieldOffset[iField], @@ -3022,19 +3975,28 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (pValue == NULL) { memset((char *)(pabyRec + psDBF->panFieldOffset[iField]), DBFGetNullCharacter(psDBF->pachFieldType[iField]), psDBF->panFieldSize[iField]); return TRUE; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if (pValue == SHPLIB_NULLPTR) { memset(pabyRec + psDBF->panFieldOffset[iField], DBFGetNullCharacter(psDBF->pachFieldType[iField]), psDBF->panFieldSize[iField]); return true; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* -------------------------------------------------------------------- */ @@ -3042,6 +4004,7 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD bool nRetResult = true; @@ -3079,6 +4042,8 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, <<<<<<< HEAD ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) switch (psDBF->pachFieldType[iField]) { case 'D': case 'N': @@ -3094,13 +4059,38 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, snprintf(szSField, sizeof(szSField), szFormat, *((double *)pValue)); if ((int)strlen(szSField) > psDBF->panFieldSize[iField]) { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + bool nRetResult = true; + + switch (psDBF->pachFieldType[iField]) { + case 'D': + case 'N': + case 'F': { + int nWidth = psDBF->panFieldSize[iField]; + + char szSField[XBASE_FLD_MAX_WIDTH + 1]; + if (STATIC_CAST(int, sizeof(szSField)) - 2 < nWidth) + nWidth = sizeof(szSField) - 2; + + char szFormat[20]; + snprintf(szFormat, sizeof(szFormat), "%%%d.%df", nWidth, + psDBF->panFieldDecimals[iField]); + CPLsnprintf(szSField, sizeof(szSField), szFormat, + *STATIC_CAST(double *, pValue)); + szSField[sizeof(szSField) - 1] = '\0'; + if (STATIC_CAST(int, strlen(szSField)) > psDBF->panFieldSize[iField]) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) szSField[psDBF->panFieldSize[iField]] = '\0'; nRetResult = false; } <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD memcpy( REINTERPRET_CAST(char *, pabyRec + psDBF->panFieldOffset[iField]), @@ -3128,6 +4118,15 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, REINTERPRET_CAST(char *, pabyRec + psDBF->panFieldOffset[iField]), szSField, strlen(szSField)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + strncpy((char *)(pabyRec + psDBF->panFieldOffset[iField]), szSField, + strlen(szSField)); +======= + memcpy( + REINTERPRET_CAST(char *, pabyRec + psDBF->panFieldOffset[iField]), + szSField, strlen(szSField)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) break; } @@ -3136,6 +4135,7 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) (*STATIC_CAST(char *, pValue) == 'F' || @@ -3143,6 +4143,10 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, *(pabyRec + psDBF->panFieldOffset[iField]) = *STATIC_CAST(char *, pValue); <<<<<<< HEAD +======= + (*(char *)pValue == 'F' || *(char *)pValue == 'T')) + *(pabyRec + psDBF->panFieldOffset[iField]) = *(char *)pValue; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) break; default: { @@ -3168,20 +4172,41 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, <<<<<<< HEAD nRetResult = FALSE; <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= nRetResult = false; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + (*STATIC_CAST(char *, pValue) == 'F' || + *STATIC_CAST(char *, pValue) == 'T')) + *(pabyRec + psDBF->panFieldOffset[iField]) = + *STATIC_CAST(char *, pValue); + break; + + default: { + int j; + if (STATIC_CAST(int, strlen(STATIC_CAST(char *, pValue))) > + psDBF->panFieldSize[iField]) { + j = psDBF->panFieldSize[iField]; + nRetResult = false; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } else { memset(pabyRec + psDBF->panFieldOffset[iField], ' ', psDBF->panFieldSize[iField]); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD j = STATIC_CAST(int, strlen(STATIC_CAST(char *, pValue))); +======= + j = (int)strlen((char *)pValue); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } strncpy( @@ -3211,12 +4236,28 @@ static bool DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField, <<<<<<< HEAD return (nRetResult); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= return nRetResult; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + j = STATIC_CAST(int, strlen(STATIC_CAST(char *, pValue))); + } + + strncpy( + REINTERPRET_CAST(char *, pabyRec + psDBF->panFieldOffset[iField]), + STATIC_CAST(const char *, pValue), j); + break; + } + } + + return nRetResult; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -3232,6 +4273,7 @@ int SHPAPI_CALL DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* -------------------------------------------------------------------- */ /* Is this a valid record? */ @@ -3253,6 +4295,8 @@ int SHPAPI_CALL DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int i, j; unsigned char *pabyRec; @@ -3262,7 +4306,18 @@ int SHPAPI_CALL DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, if (hEntity < 0 || hEntity > psDBF->nRecords) return (FALSE); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + /* -------------------------------------------------------------------- */ + /* Is this a valid record? */ + /* -------------------------------------------------------------------- */ + if (hEntity < 0 || hEntity > psDBF->nRecords) + return (FALSE); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psDBF->bNoHeader) DBFWriteHeader(psDBF); @@ -3276,6 +4331,7 @@ int SHPAPI_CALL DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, psDBF->nRecords++; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < psDBF->nRecordLength; i++) ======= @@ -3287,6 +4343,12 @@ int SHPAPI_CALL DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, ======= for (int i = 0; i < psDBF->nRecordLength; i++) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < psDBF->nRecordLength; i++) +======= + for (int i = 0; i < psDBF->nRecordLength; i++) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->pszCurrentRecord[i] = ' '; psDBF->nCurrentRecord = hEntity; @@ -3301,6 +4363,7 @@ int SHPAPI_CALL DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned char *pabyRec = REINTERPRET_CAST(unsigned char *, psDBF->pszCurrentRecord); @@ -3314,12 +4377,20 @@ int SHPAPI_CALL DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, unsigned char *pabyRec = REINTERPRET_CAST(unsigned char *, psDBF->pszCurrentRecord); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + pabyRec = (unsigned char *)psDBF->pszCurrentRecord; +======= + unsigned char *pabyRec = + REINTERPRET_CAST(unsigned char *, psDBF->pszCurrentRecord); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Assign all the record fields. */ /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int j; if (STATIC_CAST(int, strlen(STATIC_CAST(char *, pValue))) > @@ -3330,17 +4401,25 @@ int SHPAPI_CALL DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, ======= if ((int)strlen((char *)pValue) > psDBF->panFieldSize[iField]) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + if ((int)strlen((char *)pValue) > psDBF->panFieldSize[iField]) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= int j; if (STATIC_CAST(int, strlen(STATIC_CAST(char *, pValue))) > psDBF->panFieldSize[iField]) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) j = psDBF->panFieldSize[iField]; else { memset(pabyRec + psDBF->panFieldOffset[iField], ' ', psDBF->panFieldSize[iField]); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD j = STATIC_CAST(int, strlen(STATIC_CAST(char *, pValue))); } @@ -3348,11 +4427,14 @@ int SHPAPI_CALL DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, strncpy(REINTERPRET_CAST(char *, pabyRec + psDBF->panFieldOffset[iField]), STATIC_CAST(const char *, pValue), j); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) j = (int)strlen((char *)pValue); } strncpy((char *)(pabyRec + psDBF->panFieldOffset[iField]), (char *)pValue, j); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= j = (int)strlen((char *)pValue); @@ -3361,13 +4443,19 @@ int SHPAPI_CALL DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, strncpy((char *)(pabyRec + psDBF->panFieldOffset[iField]), (char *)pValue, j); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= j = STATIC_CAST(int, strlen(STATIC_CAST(char *, pValue))); } strncpy(REINTERPRET_CAST(char *, pabyRec + psDBF->panFieldOffset[iField]), STATIC_CAST(const char *, pValue), j); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->bCurrentRecordModified = TRUE; psDBF->bUpdated = TRUE; @@ -3386,6 +4474,7 @@ int SHPAPI_CALL DBFWriteDoubleAttribute(DBFHandle psDBF, int iRecord, { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return (DBFWriteAttribute(psDBF, iRecord, iField, STATIC_CAST(void *, &dValue))); @@ -3399,6 +4488,13 @@ int SHPAPI_CALL DBFWriteDoubleAttribute(DBFHandle psDBF, int iRecord, return (DBFWriteAttribute(psDBF, iRecord, iField, STATIC_CAST(void *, &dValue))); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + return (DBFWriteAttribute(psDBF, iRecord, iField, (void *)&dValue)); +======= + return (DBFWriteAttribute(psDBF, iRecord, iField, + STATIC_CAST(void *, &dValue))); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -3414,6 +4510,7 @@ int SHPAPI_CALL DBFWriteIntegerAttribute(DBFHandle psDBF, int iRecord, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return (DBFWriteAttribute(psDBF, iRecord, iField, STATIC_CAST(void *, &dValue))); @@ -3427,6 +4524,13 @@ int SHPAPI_CALL DBFWriteIntegerAttribute(DBFHandle psDBF, int iRecord, return (DBFWriteAttribute(psDBF, iRecord, iField, STATIC_CAST(void *, &dValue))); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + return (DBFWriteAttribute(psDBF, iRecord, iField, (void *)&dValue)); +======= + return (DBFWriteAttribute(psDBF, iRecord, iField, + STATIC_CAST(void *, &dValue))); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -3440,6 +4544,7 @@ int SHPAPI_CALL DBFWriteStringAttribute(DBFHandle psDBF, int iRecord, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD { return ( @@ -3454,12 +4559,20 @@ int SHPAPI_CALL DBFWriteStringAttribute(DBFHandle psDBF, int iRecord, return (DBFWriteAttribute(psDBF, iRecord, iField, (void *)pszValue)); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +{ + return (DBFWriteAttribute(psDBF, iRecord, iField, (void *)pszValue)); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= { return ( DBFWriteAttribute(psDBF, iRecord, iField, STATIC_CAST(void *, CONST_CAST(char *, pszValue)))); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -3472,6 +4585,7 @@ int SHPAPI_CALL DBFWriteNULLAttribute(DBFHandle psDBF, int iRecord, int iField) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD { return (DBFWriteAttribute(psDBF, iRecord, iField, SHPLIB_NULLPTR)); @@ -3484,10 +4598,18 @@ int SHPAPI_CALL DBFWriteNULLAttribute(DBFHandle psDBF, int iRecord, int iField) return (DBFWriteAttribute(psDBF, iRecord, iField, NULL)); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +{ + return (DBFWriteAttribute(psDBF, iRecord, iField, NULL)); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= { return (DBFWriteAttribute(psDBF, iRecord, iField, SHPLIB_NULLPTR)); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -3501,6 +4623,7 @@ int SHPAPI_CALL DBFWriteLogicalAttribute(DBFHandle psDBF, int iRecord, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD { return ( @@ -3515,12 +4638,20 @@ int SHPAPI_CALL DBFWriteLogicalAttribute(DBFHandle psDBF, int iRecord, return (DBFWriteAttribute(psDBF, iRecord, iField, (void *)(&lValue))); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +{ + return (DBFWriteAttribute(psDBF, iRecord, iField, (void *)(&lValue))); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= { return ( DBFWriteAttribute(psDBF, iRecord, iField, STATIC_CAST(void *, CONST_CAST(char *, &lValue)))); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -3528,6 +4659,7 @@ int SHPAPI_CALL DBFWriteLogicalAttribute(DBFHandle psDBF, int iRecord, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD /* */ /* Write an attribute record to the file. */ ======= @@ -3544,12 +4676,22 @@ int SHPAPI_CALL DBFWriteLogicalAttribute(DBFHandle psDBF, int iRecord, /* */ /* Write an attribute record to the file. */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +/* */ +/* Write an attribute record to the file. */ + +======= +/* */ +/* Write an attribute record to the file. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /************************************************************************/ int SHPAPI_CALL DBFWriteTuple(DBFHandle psDBF, int hEntity, void *pRawTuple) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* -------------------------------------------------------------------- */ /* Is this a valid record? */ @@ -3571,6 +4713,8 @@ int SHPAPI_CALL DBFWriteTuple(DBFHandle psDBF, int hEntity, void *pRawTuple) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int i; unsigned char *pabyRec; @@ -3580,7 +4724,18 @@ int SHPAPI_CALL DBFWriteTuple(DBFHandle psDBF, int hEntity, void *pRawTuple) if (hEntity < 0 || hEntity > psDBF->nRecords) return (FALSE); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + /* -------------------------------------------------------------------- */ + /* Is this a valid record? */ + /* -------------------------------------------------------------------- */ + if (hEntity < 0 || hEntity > psDBF->nRecords) + return (FALSE); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psDBF->bNoHeader) DBFWriteHeader(psDBF); @@ -3594,6 +4749,7 @@ int SHPAPI_CALL DBFWriteTuple(DBFHandle psDBF, int hEntity, void *pRawTuple) psDBF->nRecords++; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < psDBF->nRecordLength; i++) ======= @@ -3605,6 +4761,12 @@ int SHPAPI_CALL DBFWriteTuple(DBFHandle psDBF, int hEntity, void *pRawTuple) ======= for (int i = 0; i < psDBF->nRecordLength; i++) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < psDBF->nRecordLength; i++) +======= + for (int i = 0; i < psDBF->nRecordLength; i++) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->pszCurrentRecord[i] = ' '; psDBF->nCurrentRecord = hEntity; @@ -3619,6 +4781,7 @@ int SHPAPI_CALL DBFWriteTuple(DBFHandle psDBF, int hEntity, void *pRawTuple) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned char *pabyRec = REINTERPRET_CAST(unsigned char *, psDBF->pszCurrentRecord); @@ -3632,6 +4795,13 @@ int SHPAPI_CALL DBFWriteTuple(DBFHandle psDBF, int hEntity, void *pRawTuple) unsigned char *pabyRec = REINTERPRET_CAST(unsigned char *, psDBF->pszCurrentRecord); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + pabyRec = (unsigned char *)psDBF->pszCurrentRecord; +======= + unsigned char *pabyRec = + REINTERPRET_CAST(unsigned char *, psDBF->pszCurrentRecord); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(pabyRec, pRawTuple, psDBF->nRecordLength); @@ -3652,6 +4822,7 @@ const char SHPAPI_CALL1(*) DBFReadTuple(DBFHandle psDBF, int hEntity) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD { if (hEntity < 0 || hEntity >= psDBF->nRecords) @@ -3676,6 +4847,8 @@ const char SHPAPI_CALL1(*) DBFReadTuple(DBFHandle psDBF, int hEntity) return (const char *)psDBF->pszCurrentRecord; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { if (hEntity < 0 || hEntity >= psDBF->nRecords) return (NULL); @@ -3684,10 +4857,24 @@ const char SHPAPI_CALL1(*) DBFReadTuple(DBFHandle psDBF, int hEntity) return NULL; return (const char *)psDBF->pszCurrentRecord; +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= return STATIC_CAST(const char *, psDBF->pszCurrentRecord); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +{ + if (hEntity < 0 || hEntity >= psDBF->nRecords) + return SHPLIB_NULLPTR; + + if (!DBFLoadRecord(psDBF, hEntity)) + return SHPLIB_NULLPTR; + + return STATIC_CAST(const char *, psDBF->pszCurrentRecord); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -3700,6 +4887,7 @@ DBFHandle SHPAPI_CALL DBFCloneEmpty(DBFHandle psDBF, const char *pszFilename) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD DBFHandle newDBF = DBFCreateEx(pszFilename, psDBF->pszCodePage); if (newDBF == SHPLIB_NULLPTR) @@ -3795,6 +4983,8 @@ DBFHandle SHPAPI_CALL DBFCloneEmpty(DBFHandle psDBF, const char *pszFilename) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) DBFHandle newDBF; newDBF = DBFCreateEx(pszFilename, psDBF->pszCodePage); @@ -3832,7 +5022,54 @@ DBFHandle SHPAPI_CALL DBFCloneEmpty(DBFHandle psDBF, const char *pszFilename) newDBF = DBFOpen(pszFilename, "rb+"); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + DBFHandle newDBF = DBFCreateEx(pszFilename, psDBF->pszCodePage); + if (newDBF == SHPLIB_NULLPTR) + return SHPLIB_NULLPTR; + + newDBF->nFields = psDBF->nFields; + newDBF->nRecordLength = psDBF->nRecordLength; + newDBF->nHeaderLength = psDBF->nHeaderLength; + + if (psDBF->pszHeader) { + newDBF->pszHeader = + STATIC_CAST(char *, malloc(XBASE_FLDHDR_SZ * psDBF->nFields)); + memcpy(newDBF->pszHeader, psDBF->pszHeader, + XBASE_FLDHDR_SZ * psDBF->nFields); + } + + newDBF->panFieldOffset = + STATIC_CAST(int *, malloc(sizeof(int) * psDBF->nFields)); + memcpy(newDBF->panFieldOffset, psDBF->panFieldOffset, + sizeof(int) * psDBF->nFields); + newDBF->panFieldSize = + STATIC_CAST(int *, malloc(sizeof(int) * psDBF->nFields)); + memcpy(newDBF->panFieldSize, psDBF->panFieldSize, + sizeof(int) * psDBF->nFields); + newDBF->panFieldDecimals = + STATIC_CAST(int *, malloc(sizeof(int) * psDBF->nFields)); + memcpy(newDBF->panFieldDecimals, psDBF->panFieldDecimals, + sizeof(int) * psDBF->nFields); + newDBF->pachFieldType = + STATIC_CAST(char *, malloc(sizeof(char) * psDBF->nFields)); + memcpy(newDBF->pachFieldType, psDBF->pachFieldType, + sizeof(char) * psDBF->nFields); + + newDBF->bNoHeader = TRUE; + newDBF->bUpdated = TRUE; + newDBF->bWriteEndOfFileChar = psDBF->bWriteEndOfFileChar; + + DBFWriteHeader(newDBF); + DBFClose(newDBF); + + newDBF = DBFOpen(pszFilename, "rb+"); + newDBF->bWriteEndOfFileChar = psDBF->bWriteEndOfFileChar; + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return (newDBF); } @@ -3851,6 +5088,7 @@ char SHPAPI_CALL DBFGetNativeFieldType(DBFHandle psDBF, int iField) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -3859,6 +5097,11 @@ char SHPAPI_CALL DBFGetNativeFieldType(DBFHandle psDBF, int iField) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { if (iField >= 0 && iField < psDBF->nFields) return psDBF->pachFieldType[iField]; @@ -3866,9 +5109,12 @@ char SHPAPI_CALL DBFGetNativeFieldType(DBFHandle psDBF, int iField) return ' '; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -3888,9 +5134,14 @@ static void str_to_upper(char *string) if (isalpha(string[i]) && islower(string[i])) string[i] = (char)toupper((int)string[i]); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -3907,6 +5158,7 @@ int SHPAPI_CALL DBFGetFieldIndex(DBFHandle psDBF, const char *pszFieldName) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char name[XBASE_FLDNAME_LEN_READ + 1]; @@ -3914,6 +5166,8 @@ int SHPAPI_CALL DBFGetFieldIndex(DBFHandle psDBF, const char *pszFieldName) DBFGetFieldInfo(psDBF, i, name, SHPLIB_NULLPTR, SHPLIB_NULLPTR); if (!STRCASECMP(pszFieldName, name)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) char name[12], name1[12], name2[12]; int i; @@ -3933,16 +5187,23 @@ int SHPAPI_CALL DBFGetFieldIndex(DBFHandle psDBF, const char *pszFieldName) if (!strncmp(name1, name2, 10)) <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= char name[XBASE_FLDNAME_LEN_READ + 1]; for (int i = 0; i < DBFGetFieldCount(psDBF); i++) { DBFGetFieldInfo(psDBF, i, name, SHPLIB_NULLPTR, SHPLIB_NULLPTR); if (!STRCASECMP(pszFieldName, name)) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return (i); } return (-1); @@ -3966,6 +5227,7 @@ int SHPAPI_CALL DBFIsRecordDeleted(DBFHandle psDBF, int iShape) /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Have we read the record? */ ======= @@ -3977,6 +5239,12 @@ int SHPAPI_CALL DBFIsRecordDeleted(DBFHandle psDBF, int iShape) ======= /* Have we read the record? */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + /* Have we read the record? */ +======= + /* Have we read the record? */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ if (!DBFLoadRecord(psDBF, iShape)) return FALSE; @@ -3991,10 +5259,32 @@ int SHPAPI_CALL DBFIsRecordDeleted(DBFHandle psDBF, int iShape) /* DBFMarkRecordDeleted() */ /************************************************************************/ -int SHPAPI_CALL DBFMarkRecordDeleted(DBFHandle psDBF, int iShape, - int bIsDeleted) -{ +int SHPAPI_CALL DBFMarkRecordDeleted(DBFHandle psDBF, int iShape, + int bIsDeleted) +{ +<<<<<<< HEAD +<<<<<<< HEAD +======= + /* -------------------------------------------------------------------- */ + /* Verify selection. */ + /* -------------------------------------------------------------------- */ + if (iShape < 0 || iShape >= psDBF->nRecords) + return FALSE; + + /* -------------------------------------------------------------------- */ + /* Is this an existing record, but different than the last one */ + /* we accessed? */ + /* -------------------------------------------------------------------- */ + if (!DBFLoadRecord(psDBF, iShape)) + return FALSE; + + /* -------------------------------------------------------------------- */ + /* Assign value, marking record as dirty if it changes. */ + /* -------------------------------------------------------------------- */ + char chNewFlag; <<<<<<< HEAD + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Verify selection. */ /* -------------------------------------------------------------------- */ @@ -4011,6 +5301,7 @@ int SHPAPI_CALL DBFMarkRecordDeleted(DBFHandle psDBF, int iShape, /* -------------------------------------------------------------------- */ /* Assign value, marking record as dirty if it changes. */ /* -------------------------------------------------------------------- */ +<<<<<<< HEAD char chNewFlag; <<<<<<< HEAD ======= @@ -4041,6 +5332,10 @@ int SHPAPI_CALL DBFMarkRecordDeleted(DBFHandle psDBF, int iShape, ======= char chNewFlag; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (bIsDeleted) chNewFlag = '*'; else @@ -4063,6 +5358,7 @@ const char SHPAPI_CALL1(*) DBFGetCodePage(DBFHandle psDBF) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (psDBF == SHPLIB_NULLPTR) return SHPLIB_NULLPTR; @@ -4076,6 +5372,14 @@ const char SHPAPI_CALL1(*) DBFGetCodePage(DBFHandle psDBF) if (psDBF == SHPLIB_NULLPTR) return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (psDBF == NULL) + return NULL; +======= + if (psDBF == SHPLIB_NULLPTR) + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return psDBF->pszCodePage; } @@ -4089,16 +5393,24 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int nOldRecordLength, nOldHeaderLength; int nDeletedFieldOffset, nDeletedFieldSize; SAOffset nRecordOffset; char *pszRecord; int i, iRecord; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (iField < 0 || iField >= psDBF->nFields) return FALSE; @@ -4115,6 +5427,7 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) /* update fields info */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = iField + 1; i < psDBF->nFields; i++) { ======= @@ -4126,6 +5439,12 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) ======= for (int i = iField + 1; i < psDBF->nFields; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = iField + 1; i < psDBF->nFields; i++) { +======= + for (int i = iField + 1; i < psDBF->nFields; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->panFieldOffset[i - 1] = psDBF->panFieldOffset[i] - nDeletedFieldSize; psDBF->panFieldSize[i - 1] = psDBF->panFieldSize[i]; @@ -4138,6 +5457,7 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psDBF->panFieldOffset = STATIC_CAST( int *, SfRealloc(psDBF->panFieldOffset, sizeof(int) * psDBF->nFields)); @@ -4171,6 +5491,8 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) (char *)SfRealloc(psDBF->pachFieldType, sizeof(char) * psDBF->nFields); >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psDBF->panFieldOffset = (int *)SfRealloc(psDBF->panFieldOffset, sizeof(int) * psDBF->nFields); @@ -4182,11 +5504,28 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) psDBF->pachFieldType = (char *)SfRealloc(psDBF->pachFieldType, sizeof(char) * psDBF->nFields); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= psDBF->pachFieldType = STATIC_CAST( char *, SfRealloc(psDBF->pachFieldType, sizeof(char) * psDBF->nFields)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + psDBF->panFieldOffset = STATIC_CAST( + int *, SfRealloc(psDBF->panFieldOffset, sizeof(int) * psDBF->nFields)); + + psDBF->panFieldSize = STATIC_CAST( + int *, SfRealloc(psDBF->panFieldSize, sizeof(int) * psDBF->nFields)); + + psDBF->panFieldDecimals = + STATIC_CAST(int *, SfRealloc(psDBF->panFieldDecimals, + sizeof(int) * psDBF->nFields)); + + psDBF->pachFieldType = STATIC_CAST( + char *, SfRealloc(psDBF->pachFieldType, sizeof(char) * psDBF->nFields)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* update header information */ psDBF->nHeaderLength -= XBASE_FLDHDR_SZ; @@ -4195,6 +5534,7 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) /* overwrite field information in header */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD memmove(psDBF->pszHeader + iField * XBASE_FLDHDR_SZ, psDBF->pszHeader + (iField + 1) * XBASE_FLDHDR_SZ, @@ -4225,6 +5565,8 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) (char *)SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength); >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memmove(psDBF->pszHeader + iField * 32, psDBF->pszHeader + (iField + 1) * 32, sizeof(char) * (psDBF->nFields - iField) * 32); @@ -4234,11 +5576,26 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) /* update size of current record appropriately */ psDBF->pszCurrentRecord = (char *)SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= psDBF->pszCurrentRecord = STATIC_CAST( char *, SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + memmove(psDBF->pszHeader + iField * XBASE_FLDHDR_SZ, + psDBF->pszHeader + (iField + 1) * XBASE_FLDHDR_SZ, + sizeof(char) * (psDBF->nFields - iField) * XBASE_FLDHDR_SZ); + + psDBF->pszHeader = STATIC_CAST( + char *, SfRealloc(psDBF->pszHeader, psDBF->nFields * XBASE_FLDHDR_SZ)); + + /* update size of current record appropriately */ + psDBF->pszCurrentRecord = STATIC_CAST( + char *, SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* we're done if we're dealing with not yet created .dbf */ if (psDBF->bNoHeader && psDBF->nRecords == 0) @@ -4251,6 +5608,7 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) /* alloc record */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char *pszRecord = STATIC_CAST(char *, malloc(sizeof(char) * nOldRecordLength)); @@ -4288,6 +5646,8 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); <<<<<<< HEAD ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pszRecord = (char *)malloc(sizeof(char) * nOldRecordLength); /* shift records to their new positions */ @@ -4302,10 +5662,25 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) nRecordOffset = psDBF->nRecordLength * (SAOffset)iRecord + psDBF->nHeaderLength; <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + char *pszRecord = + STATIC_CAST(char *, malloc(sizeof(char) * nOldRecordLength)); + + /* shift records to their new positions */ + for (int iRecord = 0; iRecord < psDBF->nRecords; iRecord++) { + SAOffset nRecordOffset = + nOldRecordLength * STATIC_CAST(SAOffset, iRecord) + + nOldHeaderLength; + + /* load record */ + psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psDBF->sHooks.FRead(pszRecord, nOldRecordLength, 1, psDBF->fp) != 1) { free(pszRecord); @@ -4314,7 +5689,11 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) nRecordOffset = psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + psDBF->nHeaderLength; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* move record in two steps */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); @@ -4324,6 +5703,7 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) nOldRecordLength - nDeletedFieldOffset - nDeletedFieldSize, 1, psDBF->fp); <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD } @@ -4339,6 +5719,9 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } if (psDBF->bWriteEndOfFileChar) { @@ -4349,6 +5732,10 @@ int SHPAPI_CALL DBFDeleteField(DBFHandle psDBF, int iField) psDBF->sHooks.FSeek(psDBF->fp, nEOFOffset, 0); psDBF->sHooks.FWrite(&ch, 1, 1, psDBF->fp); +<<<<<<< HEAD +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* TODO: truncate file */ @@ -4377,7 +5764,10 @@ int SHPAPI_CALL DBFReorderFields(DBFHandle psDBF, int *panMap) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) SAOffset nRecordOffset; int i, iRecord; int *panFieldOffsetNew; @@ -4388,12 +5778,17 @@ int SHPAPI_CALL DBFReorderFields(DBFHandle psDBF, int *panMap) char *pszRecord; char *pszRecordNew; +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psDBF->nFields == 0) return TRUE; @@ -4406,6 +5801,7 @@ int SHPAPI_CALL DBFReorderFields(DBFHandle psDBF, int *panMap) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) int *panFieldOffsetNew = @@ -4452,6 +5848,8 @@ int SHPAPI_CALL DBFReorderFields(DBFHandle psDBF, int *panMap) for (i = 1; i < psDBF->nFields; i++) { >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) panFieldOffsetNew = (int *)calloc(sizeof(int), psDBF->nFields); panFieldSizeNew = (int *)malloc(sizeof(int) * psDBF->nFields); panFieldDecimalsNew = (int *)malloc(sizeof(int) * psDBF->nFields); @@ -4467,10 +5865,36 @@ int SHPAPI_CALL DBFReorderFields(DBFHandle psDBF, int *panMap) } panFieldOffsetNew[0] = 1; for (i = 1; i < psDBF->nFields; i++) { +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= for (int i = 1; i < psDBF->nFields; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + int *panFieldOffsetNew = + STATIC_CAST(int *, calloc(sizeof(int), psDBF->nFields)); + int *panFieldSizeNew = + STATIC_CAST(int *, calloc(sizeof(int), psDBF->nFields)); + int *panFieldDecimalsNew = + STATIC_CAST(int *, calloc(sizeof(int), psDBF->nFields)); + char *pachFieldTypeNew = + STATIC_CAST(char *, calloc(sizeof(char), psDBF->nFields)); + char *pszHeaderNew = STATIC_CAST( + char *, malloc(sizeof(char) * XBASE_FLDHDR_SZ * psDBF->nFields)); + + /* shuffle fields definitions */ + for (int i = 0; i < psDBF->nFields; i++) { + panFieldSizeNew[i] = psDBF->panFieldSize[panMap[i]]; + panFieldDecimalsNew[i] = psDBF->panFieldDecimals[panMap[i]]; + pachFieldTypeNew[i] = psDBF->pachFieldType[panMap[i]]; + memcpy(pszHeaderNew + i * XBASE_FLDHDR_SZ, + psDBF->pszHeader + panMap[i] * XBASE_FLDHDR_SZ, XBASE_FLDHDR_SZ); + } + panFieldOffsetNew[0] = 1; + for (int i = 1; i < psDBF->nFields; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) panFieldOffsetNew[i] = panFieldOffsetNew[i - 1] + panFieldSizeNew[i - 1]; } @@ -4490,6 +5914,7 @@ int SHPAPI_CALL DBFReorderFields(DBFHandle psDBF, int *panMap) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) char *pszRecord = @@ -4541,6 +5966,8 @@ int SHPAPI_CALL DBFReorderFields(DBFHandle psDBF, int *panMap) for (i = 0; i < psDBF->nFields; i++) { >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pszRecord = (char *)malloc(sizeof(char) * psDBF->nRecordLength); pszRecordNew = (char *)malloc(sizeof(char) * psDBF->nRecordLength); @@ -4556,10 +5983,37 @@ int SHPAPI_CALL DBFReorderFields(DBFHandle psDBF, int *panMap) pszRecordNew[0] = pszRecord[0]; for (i = 0; i < psDBF->nFields; i++) { +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= for (int i = 0; i < psDBF->nFields; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + char *pszRecord = + STATIC_CAST(char *, malloc(sizeof(char) * psDBF->nRecordLength)); + char *pszRecordNew = + STATIC_CAST(char *, malloc(sizeof(char) * psDBF->nRecordLength)); + + /* shuffle fields in records */ + for (int iRecord = 0; iRecord < psDBF->nRecords; iRecord++) { + const SAOffset nRecordOffset = + psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + + psDBF->nHeaderLength; + + /* load record */ + psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); + if (psDBF->sHooks.FRead(pszRecord, psDBF->nRecordLength, 1, + psDBF->fp) != 1) { + errorAbort = true; + break; + } + + pszRecordNew[0] = pszRecord[0]; + + for (int i = 0; i < psDBF->nFields; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(pszRecordNew + panFieldOffsetNew[i], pszRecord + psDBF->panFieldOffset[panMap[i]], psDBF->panFieldSize[panMap[i]]); @@ -4617,9 +6071,12 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int i; int iRecord; int nOffset; @@ -4631,9 +6088,14 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, int bIsNULL; char chFieldFill; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (iField < 0 || iField >= psDBF->nFields) return FALSE; @@ -4656,6 +6118,7 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (nWidth > XBASE_FLD_MAX_WIDTH) nWidth = XBASE_FLD_MAX_WIDTH; @@ -4669,6 +6132,14 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, if (nWidth > XBASE_FLD_MAX_WIDTH) nWidth = XBASE_FLD_MAX_WIDTH; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (nWidth > 255) + nWidth = 255; +======= + if (nWidth > XBASE_FLD_MAX_WIDTH) + nWidth = XBASE_FLD_MAX_WIDTH; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Assign the new field information fields. */ @@ -4682,6 +6153,7 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char *pszFInfo = psDBF->pszHeader + XBASE_FLDHDR_SZ * iField; @@ -4700,6 +6172,8 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, <<<<<<< HEAD ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pszFInfo = psDBF->pszHeader + 32 * iField; for (i = 0; i < 32; i++) @@ -4711,18 +6185,30 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, else strncpy(pszFInfo, pszFieldName, 10); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= strncpy(pszFInfo, pszFieldName, XBASE_FLDNAME_LEN_WRITE); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + char *pszFInfo = psDBF->pszHeader + XBASE_FLDHDR_SZ * iField; + + for (int i = 0; i < XBASE_FLDHDR_SZ; i++) + pszFInfo[i] = '\0'; + + strncpy(pszFInfo, pszFieldName, XBASE_FLDNAME_LEN_WRITE); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pszFInfo[11] = psDBF->pachFieldType[iField]; if (chType == 'C') { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD pszFInfo[16] = STATIC_CAST(unsigned char, nWidth % 256); pszFInfo[17] = STATIC_CAST(unsigned char, nWidth / 256); @@ -4731,12 +6217,15 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, pszFInfo[16] = STATIC_CAST(unsigned char, nWidth); pszFInfo[17] = STATIC_CAST(unsigned char, nDecimals); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pszFInfo[16] = (unsigned char)(nWidth % 256); pszFInfo[17] = (unsigned char)(nWidth / 256); } else { pszFInfo[16] = (unsigned char)nWidth; pszFInfo[17] = (unsigned char)nDecimals; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= pszFInfo[16] = (unsigned char)(nWidth % 256); @@ -4746,6 +6235,8 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, pszFInfo[16] = (unsigned char)nWidth; pszFInfo[17] = (unsigned char)nDecimals; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= pszFInfo[16] = STATIC_CAST(unsigned char, nWidth % 256); pszFInfo[17] = STATIC_CAST(unsigned char, nWidth / 256); @@ -4753,7 +6244,11 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, else { pszFInfo[16] = STATIC_CAST(unsigned char, nWidth); pszFInfo[17] = STATIC_CAST(unsigned char, nDecimals); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* -------------------------------------------------------------------- */ @@ -4762,6 +6257,7 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, if (nWidth != nOldWidth) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = iField + 1; i < psDBF->nFields; i++) psDBF->panFieldOffset[i] += nWidth - nOldWidth; @@ -4770,12 +6266,15 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, psDBF->pszCurrentRecord = STATIC_CAST( char *, SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength)); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (i = iField + 1; i < psDBF->nFields; i++) psDBF->panFieldOffset[i] += nWidth - nOldWidth; psDBF->nRecordLength += nWidth - nOldWidth; psDBF->pszCurrentRecord = (char *)SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= for (i = iField + 1; i < psDBF->nFields; i++) @@ -4785,6 +6284,8 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, psDBF->pszCurrentRecord = (char *)SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= for (int i = iField + 1; i < psDBF->nFields; i++) psDBF->panFieldOffset[i] += nWidth - nOldWidth; @@ -4792,7 +6293,11 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, psDBF->pszCurrentRecord = STATIC_CAST( char *, SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength)); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* we're done if we're dealing with not yet created .dbf */ @@ -4805,6 +6310,7 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD bool errorAbort = false; ======= @@ -4820,6 +6326,14 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, ======= bool errorAbort = false; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (nWidth < nOldWidth || (nWidth == nOldWidth && chType != chOldType)) { + char *pszRecord = (char *)malloc(sizeof(char) * nOldRecordLength); + char *pszOldField = (char *)malloc(sizeof(char) * (nOldWidth + 1)); +======= + bool errorAbort = false; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (nWidth < nOldWidth || (nWidth == nOldWidth && chType != chOldType)) { char *pszRecord = @@ -4834,6 +6348,7 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) for (int iRecord = 0; iRecord < psDBF->nRecords; iRecord++) { @@ -4879,6 +6394,8 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, if ((chOldType == 'N' || chOldType == 'F') && >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (iRecord = 0; iRecord < psDBF->nRecords; iRecord++) { nRecordOffset = nOldRecordLength * (SAOffset)iRecord + psDBF->nHeaderLength; @@ -4892,11 +6409,35 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, if (nWidth != nOldWidth) { if ((chOldType == 'N' || chOldType == 'F') && +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= if ((chOldType == 'N' || chOldType == 'F' || chOldType == 'D') && >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + for (int iRecord = 0; iRecord < psDBF->nRecords; iRecord++) { + SAOffset nRecordOffset = + nOldRecordLength * STATIC_CAST(SAOffset, iRecord) + + psDBF->nHeaderLength; + + /* load record */ + psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); + if (psDBF->sHooks.FRead(pszRecord, nOldRecordLength, 1, + psDBF->fp) != 1) { + errorAbort = true; + break; + } + + memcpy(pszOldField, pszRecord + nOffset, nOldWidth); + const bool bIsNULL = DBFIsValueNULL(chOldType, pszOldField); + + if (nWidth != nOldWidth) { + if ((chOldType == 'N' || chOldType == 'F' || + chOldType == 'D') && +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pszOldField[0] == ' ') { /* Strip leading spaces when truncating a numeric field */ memmove(pszRecord + nOffset, @@ -4917,6 +6458,7 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, nRecordOffset = <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + psDBF->nHeaderLength; @@ -4930,6 +6472,13 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + psDBF->nHeaderLength; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psDBF->nRecordLength * (SAOffset)iRecord + psDBF->nHeaderLength; +======= + psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + + psDBF->nHeaderLength; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* write record */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); @@ -4955,6 +6504,7 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) char *pszRecord = @@ -4972,6 +6522,16 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + char *pszRecord = (char *)malloc(sizeof(char) * psDBF->nRecordLength); + char *pszOldField = (char *)malloc(sizeof(char) * (nOldWidth + 1)); +======= + char *pszRecord = + STATIC_CAST(char *, malloc(sizeof(char) * psDBF->nRecordLength)); + char *pszOldField = + STATIC_CAST(char *, malloc(sizeof(char) * (nOldWidth + 1))); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* cppcheck-suppress uninitdata */ pszOldField[nOldWidth] = 0; @@ -4980,6 +6540,7 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) for (int iRecord = psDBF->nRecords - 1; iRecord >= 0; iRecord--) { @@ -4999,6 +6560,8 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, memcpy(pszOldField, pszRecord + nOffset, nOldWidth); const bool bIsNULL = DBFIsValueNULL(chOldType, pszOldField); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (iRecord = psDBF->nRecords - 1; iRecord >= 0; iRecord--) { nRecordOffset = nOldRecordLength * (SAOffset)iRecord + psDBF->nHeaderLength; @@ -5009,7 +6572,27 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, memcpy(pszOldField, pszRecord + nOffset, nOldWidth); bIsNULL = DBFIsValueNULL(chOldType, pszOldField); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + for (int iRecord = psDBF->nRecords - 1; iRecord >= 0; iRecord--) { + SAOffset nRecordOffset = + nOldRecordLength * STATIC_CAST(SAOffset, iRecord) + + psDBF->nHeaderLength; + + /* load record */ + psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); + if (psDBF->sHooks.FRead(pszRecord, nOldRecordLength, 1, + psDBF->fp) != 1) { + errorAbort = true; + break; + } + + memcpy(pszOldField, pszRecord + nOffset, nOldWidth); + const bool bIsNULL = DBFIsValueNULL(chOldType, pszOldField); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= for (iRecord = psDBF->nRecords - 1; iRecord >= 0; iRecord--) { @@ -5057,6 +6640,7 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, nRecordOffset = <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + psDBF->nHeaderLength; @@ -5070,11 +6654,19 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + psDBF->nHeaderLength; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psDBF->nRecordLength * (SAOffset)iRecord + psDBF->nHeaderLength; +======= + psDBF->nRecordLength * STATIC_CAST(SAOffset, iRecord) + + psDBF->nHeaderLength; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* write record */ psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FWrite(pszRecord, psDBF->nRecordLength, 1, psDBF->fp); <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD } @@ -5091,6 +6683,9 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } if (!errorAbort && psDBF->bWriteEndOfFileChar) { @@ -5102,6 +6697,10 @@ int SHPAPI_CALL DBFAlterFieldDefn(DBFHandle psDBF, int iField, psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, 0); psDBF->sHooks.FWrite(&ch, 1, 1, psDBF->fp); +<<<<<<< HEAD +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } free(pszRecord); diff --git a/lib/external/shapelib/safileio.c b/lib/external/shapelib/safileio.c index d46b6e4e38d..1fce9da0d7f 100644 --- a/lib/external/shapelib/safileio.c +++ b/lib/external/shapelib/safileio.c @@ -78,6 +78,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD SHP_CVSID("$Id: safileio.c,v 1.6 2018-06-15 19:56:32 erouault Exp $") ======= @@ -90,6 +91,13 @@ SHP_CVSID("$Id: safileio.c,v 1.4 2008-01-16 20:05:14 bram Exp $") SHP_CVSID("$Id: safileio.c,v 1.6 2018-06-15 19:56:32 erouault Exp $") >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +SHP_CVSID("$Id: safileio.c,v 1.4 2008-01-16 20:05:14 bram Exp $") +======= +SHP_CVSID("$Id: safileio.c,v 1.6 2018-06-15 19:56:32 erouault Exp $") + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #ifdef SHPAPI_UTF8_HOOKS #ifdef SHPAPI_WINDOWS #define WIN32_LEAN_AND_MEAN @@ -105,6 +113,7 @@ SHP_CVSID("$Id: safileio.c,v 1.6 2018-06-15 19:56:32 erouault Exp $") <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD SAFile SADFOpen(const char *pszFilename, const char *pszAccess) @@ -115,10 +124,17 @@ SAFile SADFOpen(const char *pszFilename, const char *pszAccess) SAFile SADFOpen(const char *pszFilename, const char *pszAccess) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +SAFile SADFOpen(const char *pszFilename, const char *pszAccess) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= SAFile SADFOpen(const char *pszFilename, const char *pszAccess) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return (SAFile)fopen(pszFilename, pszAccess); } @@ -131,6 +147,7 @@ SAOffset SADFRead(void *p, SAOffset size, SAOffset nmemb, SAFile file) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -139,6 +156,11 @@ SAOffset SADFRead(void *p, SAOffset size, SAOffset nmemb, SAFile file) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return (SAOffset)fread(p, (size_t)size, (size_t)nmemb, (FILE *)file); } @@ -151,6 +173,7 @@ SAOffset SADFWrite(void *p, SAOffset size, SAOffset nmemb, SAFile file) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -159,6 +182,11 @@ SAOffset SADFWrite(void *p, SAOffset size, SAOffset nmemb, SAFile file) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return (SAOffset)fwrite(p, (size_t)size, (size_t)nmemb, (FILE *)file); } @@ -171,6 +199,7 @@ SAOffset SADFSeek(SAFile file, SAOffset offset, int whence) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -179,6 +208,11 @@ SAOffset SADFSeek(SAFile file, SAOffset offset, int whence) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return (SAOffset)fseek((FILE *)file, (long)offset, whence); } @@ -191,6 +225,7 @@ SAOffset SADFTell(SAFile file) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -199,6 +234,11 @@ SAOffset SADFTell(SAFile file) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return (SAOffset)ftell((FILE *)file); } @@ -211,6 +251,7 @@ int SADFFlush(SAFile file) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -219,6 +260,11 @@ int SADFFlush(SAFile file) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return fflush((FILE *)file); } @@ -231,6 +277,7 @@ int SADFClose(SAFile file) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -239,6 +286,11 @@ int SADFClose(SAFile file) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return fclose((FILE *)file); } @@ -251,6 +303,7 @@ int SADRemove(const char *filename) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -259,6 +312,11 @@ int SADRemove(const char *filename) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return remove(filename); } @@ -271,6 +329,7 @@ void SADError(const char *message) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -279,6 +338,11 @@ void SADError(const char *message) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { fprintf(stderr, "%s\n", message); } @@ -291,6 +355,7 @@ void SASetupDefaultHooks(SAHooks *psHooks) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -299,6 +364,11 @@ void SASetupDefaultHooks(SAHooks *psHooks) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { psHooks->FOpen = SADFOpen; psHooks->FRead = SADFRead; @@ -351,6 +421,7 @@ SAFile SAUtf8WFOpen(const char *pszFilename, const char *pszAccess) const wchar_t *pwszFileName, *pwszAccess; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD pwszFileName = Utf8ToWideChar(pszFilename); pwszAccess = Utf8ToWideChar(pszAccess); @@ -358,19 +429,28 @@ SAFile SAUtf8WFOpen(const char *pszFilename, const char *pszAccess) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pwszFileName = Utf8ToWideChar(pszFilename); pwszAccess = Utf8ToWideChar(pszAccess); if (pwszFileName != NULL && pwszFileName != NULL) { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= pwszFileName = Utf8ToWideChar(pszFilename); pwszAccess = Utf8ToWideChar(pszAccess); if (pwszFileName != NULL && pwszAccess != NULL) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) file = (SAFile)_wfopen(pwszFileName, pwszAccess); } free((wchar_t *)pwszFileName); @@ -389,6 +469,7 @@ int SAUtf8WRemove(const char *pszFilename) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -397,6 +478,11 @@ int SAUtf8WRemove(const char *pszFilename) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (pwszFileName != NULL) { rc = _wremove(pwszFileName); } diff --git a/lib/external/shapelib/shapefil.h b/lib/external/shapelib/shapefil.h index 260d71c8a74..7acf3ff80e9 100644 --- a/lib/external/shapelib/shapefil.h +++ b/lib/external/shapelib/shapefil.h @@ -12,6 +12,7 @@ * Copyright (c) 1999, Frank Warmerdam <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD * Copyright (c) 2012-2016, Even Rouault ======= @@ -25,6 +26,13 @@ ======= * Copyright (c) 2012-2016, Even Rouault >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + * Copyright (c) 2012-2013, Even Rouault +======= + * Copyright (c) 2012-2016, Even Rouault +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) * * This software is available under the following "MIT Style" license, * or at the option of the licensee under the LGPL (see COPYING). This @@ -53,7 +61,10 @@ * <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) * $Log: shapefil.h,v $ * Revision 1.52 2011-12-11 22:26:46 fwarmerdam * upgrade .qix access code to use SAHooks (gdal #3365) @@ -157,9 +168,14 @@ * * Revision 1.22 2002/01/15 14:32:00 warmerda * try to improve SHPAPI_CALL docs +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) */ #include @@ -432,6 +448,7 @@ SHPObject SHPAPI_CALL1(*) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -440,6 +457,11 @@ SHPObject SHPAPI_CALL1(*) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) SHPCreateObject(int nSHPType, int nShapeId, int nParts, const int *panPartStart, const int *panPartType, int nVertices, const double *padfX, const double *padfY, @@ -447,6 +469,7 @@ SHPObject SHPAPI_CALL1(*) SHPObject SHPAPI_CALL1(*) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD SHPCreateSimpleObject(int nSHPType, int nVertices, const double *padfX, const double *padfY, const double *padfZ); @@ -470,6 +493,8 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle hSHP); >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) SHPCreateSimpleObject(int nSHPType, int nVertices, const double *padfX, const double *padfY, const double *padfZ); @@ -479,7 +504,20 @@ int SHPAPI_CALL SHPRewindObject(SHPHandle hSHP, SHPObject *psObject); void SHPAPI_CALL SHPClose(SHPHandle hSHP); void SHPAPI_CALL SHPWriteHeader(SHPHandle hSHP); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + SHPCreateSimpleObject(int nSHPType, int nVertices, const double *padfX, + const double *padfY, const double *padfZ); + +int SHPAPI_CALL SHPRewindObject(SHPHandle hSHP, SHPObject *psObject); + +void SHPAPI_CALL SHPClose(SHPHandle hSHP); +void SHPAPI_CALL SHPWriteHeader(SHPHandle hSHP); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) const char SHPAPI_CALL1(*) SHPTypeName(int nSHPType); const char SHPAPI_CALL1(*) SHPPartTypeName(int nPartType); @@ -522,6 +560,7 @@ typedef struct { SHPTree SHPAPI_CALL1(*) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD SHPCreateTree(SHPHandle hSHP, int nDimension, int nMaxDepth, double *padfBoundsMin, double *padfBoundsMax); @@ -579,6 +618,8 @@ int SHPAPI_CALL1(*) SHPSearchDiskTree(FILE *fp, double *padfBoundsMin, double *padfBoundsMax, int *pnShapeCount); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) SHPCreateTree(SHPHandle hSHP, int nDimension, int nMaxDepth, double *padfBoundsMin, double *padfBoundsMax); @@ -615,10 +656,46 @@ int SHPAPI_CALL1(*) SHPSearchDiskTreeEx(SHPTreeDiskHandle hDiskTree, double *padfBoundsMin, double *padfBoundsMax, int *pnShapeCount); +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + SHPCreateTree(SHPHandle hSHP, int nDimension, int nMaxDepth, + double *padfBoundsMin, double *padfBoundsMax); +void SHPAPI_CALL SHPDestroyTree(SHPTree *hTree); + +int SHPAPI_CALL SHPWriteTree(SHPTree *hTree, const char *pszFilename); + +int SHPAPI_CALL SHPTreeAddShapeId(SHPTree *hTree, SHPObject *psObject); +int SHPAPI_CALL SHPTreeRemoveShapeId(SHPTree *hTree, int nShapeId); + +void SHPAPI_CALL SHPTreeTrimExtraNodes(SHPTree *hTree); + +int SHPAPI_CALL1(*) + SHPTreeFindLikelyShapes(SHPTree *hTree, double *padfBoundsMin, + double *padfBoundsMax, int *); +int SHPAPI_CALL SHPCheckBoundsOverlap(double *, double *, double *, double *, + int); + +int SHPAPI_CALL1(*) SHPSearchDiskTree(FILE *fp, double *padfBoundsMin, + double *padfBoundsMax, int *pnShapeCount); + +typedef struct SHPDiskTreeInfo *SHPTreeDiskHandle; + +SHPTreeDiskHandle SHPAPI_CALL SHPOpenDiskTree(const char *pszQIXFilename, + SAHooks *psHooks); + +void SHPAPI_CALL SHPCloseDiskTree(SHPTreeDiskHandle hDiskTree); + +int SHPAPI_CALL1(*) + SHPSearchDiskTreeEx(SHPTreeDiskHandle hDiskTree, double *padfBoundsMin, + double *padfBoundsMax, int *pnShapeCount); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int SHPAPI_CALL SHPWriteTreeLL(SHPTree *hTree, const char *pszFilename, SAHooks *psHooks); @@ -637,6 +714,7 @@ int SHPAPI_CALL1(*) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -645,12 +723,18 @@ int SHPAPI_CALL1(*) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) SBNSearchDiskTree(SBNSearchHandle hSBN, double *padfBoundsMin, double *padfBoundsMax, int *pnShapeCount); int SHPAPI_CALL1(*) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD SBNSearchDiskTreeInteger(SBNSearchHandle hSBN, int bMinX, int bMinY, int bMaxX, int bMaxY, int *pnShapeCount); @@ -664,11 +748,21 @@ int SHPAPI_CALL1(*) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) SBNSearchDiskTreeInteger(SBNSearchHandle hSBN, int bMinX, int bMinY, int bMaxX, int bMaxY, int *pnShapeCount); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + SBNSearchDiskTreeInteger(SBNSearchHandle hSBN, int bMinX, int bMinY, + int bMaxX, int bMaxY, int *pnShapeCount); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void SHPAPI_CALL SBNSearchFreeIds(int *panShapeId); /************************************************************************/ @@ -684,6 +778,7 @@ typedef struct { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) int nRecordLength; /* Must fit on uint16 */ @@ -701,6 +796,16 @@ typedef struct { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int nRecordLength; + int nHeaderLength; +======= + int nRecordLength; /* Must fit on uint16 */ + int nHeaderLength; /* File header length (32) + field + descriptor length + spare space. + Must fit on uint16 */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int nFields; int *panFieldOffset; int *panFieldSize; @@ -709,6 +814,7 @@ typedef struct { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char *pszHeader; /* Field descriptors */ ======= @@ -720,6 +826,12 @@ typedef struct { ======= char *pszHeader; /* Field descriptors */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + char *pszHeader; +======= + char *pszHeader; /* Field descriptors */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int nCurrentRecord; int bCurrentRecordModified; @@ -745,19 +857,27 @@ typedef struct { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int bWriteEndOfFileChar; /* defaults to TRUE */ int bRequireNextWriteSeek; <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } DBFInfo; typedef DBFInfo *DBFHandle; @@ -769,6 +889,7 @@ typedef enum { FTLogical, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD FTDate, FTInvalid @@ -783,11 +904,30 @@ typedef enum { /* Normally only 254 characters should be used. We tolerate 255 historically */ #define XBASE_FLD_MAX_WIDTH 255 ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) FTInvalid } DBFFieldType; #define XBASE_FLDHDR_SZ 32 +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + FTDate, + FTInvalid +} DBFFieldType; + +/* Field descriptor/header size */ +#define XBASE_FLDHDR_SZ 32 +/* Shapelib read up to 11 characters, even if only 10 should normally be used */ +#define XBASE_FLDNAME_LEN_READ 11 +/* On writing, we limit to 10 characters */ +#define XBASE_FLDNAME_LEN_WRITE 10 +/* Normally only 254 characters should be used. We tolerate 255 historically */ +#define XBASE_FLD_MAX_WIDTH 255 +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) DBFHandle SHPAPI_CALL DBFOpen(const char *pszDBFFile, const char *pszAccess); DBFHandle SHPAPI_CALL DBFOpenLL(const char *pszDBFFile, const char *pszAccess, @@ -908,6 +1048,7 @@ void SHPAPI_CALL DBFSetLastModifiedDate(DBFHandle psDBF, int nYYSince1900, int nMM, int nDD); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void SHPAPI_CALL DBFSetWriteEndOfFileChar(DBFHandle psDBF, int bWriteFlag); ======= @@ -916,6 +1057,12 @@ void SHPAPI_CALL DBFSetWriteEndOfFileChar(DBFHandle psDBF, int bWriteFlag); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) void SHPAPI_CALL DBFSetWriteEndOfFileChar(DBFHandle psDBF, int bWriteFlag); +======= +======= + +void SHPAPI_CALL DBFSetWriteEndOfFileChar(DBFHandle psDBF, int bWriteFlag); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #ifdef __cplusplus } diff --git a/lib/external/shapelib/shpopen.c b/lib/external/shapelib/shpopen.c index e05889f3290..9c1c04da855 100644 --- a/lib/external/shapelib/shpopen.c +++ b/lib/external/shapelib/shpopen.c @@ -8,6 +8,7 @@ * Copyright (c) 1999, 2001, Frank Warmerdam <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD * Copyright (c) 2011-2019, Even Rouault ======= @@ -21,6 +22,13 @@ ======= * Copyright (c) 2011-2019, Even Rouault >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + * Copyright (c) 2011-2013, Even Rouault +======= + * Copyright (c) 2011-2019, Even Rouault +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) * * This software is available under the following "MIT Style" license, * or at the option of the licensee under the LGPL (see COPYING). This @@ -62,6 +70,7 @@ SHP_CVSID("$Id$") <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= #ifndef CPL_UNUSED @@ -76,6 +85,14 @@ SHP_CVSID("$Id$") ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +#ifndef CPL_UNUSED +#define CPL_UNUSED +#endif +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) typedef unsigned char uchar; #if UINT_MAX == 65535 @@ -95,6 +112,7 @@ typedef unsigned int int32; #define MAX(a, b) ((a > b) ? a : b) #endif +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD ======= @@ -105,12 +123,35 @@ typedef unsigned int int32; #define snprintf _snprintf #endif #elif defined(WIN32) || defined(_WIN32) +======= +#if defined(WIN32) || defined(_WIN32) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +#ifndef snprintf +#define snprintf _snprintf +#endif +======= +#ifndef USE_CPL +#if defined(_MSC_VER) +#if _MSC_VER < 1900 +#define snprintf _snprintf +#endif +#elif defined(WIN32) || defined(_WIN32) #ifndef snprintf #define snprintf _snprintf #endif #endif #endif +#ifndef CPL_UNUSED +#if defined(__GNUC__) && __GNUC__ >= 4 +#define CPL_UNUSED __attribute((__unused__)) +#else +#define CPL_UNUSED +#endif +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +#endif +#endif + #ifndef CPL_UNUSED #if defined(__GNUC__) && __GNUC__ >= 4 #define CPL_UNUSED __attribute((__unused__)) @@ -139,6 +180,7 @@ typedef unsigned int int32; <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) static bool bBigEndian; @@ -159,6 +201,20 @@ static int bBigEndian; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int bBigEndian; +======= +static bool bBigEndian; +#endif + +#ifdef __cplusplus +#define STATIC_CAST(type, x) static_cast(x) +#define SHPLIB_NULLPTR nullptr +#else +#define STATIC_CAST(type, x) ((type)(x)) +#define SHPLIB_NULLPTR NULL +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif /************************************************************************/ @@ -172,6 +228,7 @@ static void SwapWord(int length, void *wordP) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) for (int i = 0; i < length / 2; i++) { @@ -183,6 +240,8 @@ static void SwapWord(int length, void *wordP) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int i; uchar temp; @@ -191,11 +250,21 @@ static void SwapWord(int length, void *wordP) ((uchar *)wordP)[i] = ((uchar *)wordP)[length - i - 1]; ((uchar *)wordP)[length - i - 1] = temp; <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + for (int i = 0; i < length / 2; i++) { + const uchar temp = STATIC_CAST(uchar *, wordP)[i]; + STATIC_CAST(uchar *, wordP) + [i] = STATIC_CAST(uchar *, wordP)[length - i - 1]; + STATIC_CAST(uchar *, wordP)[length - i - 1] = temp; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } @@ -210,16 +279,20 @@ static void *SfRealloc(void *pMem, int nNewSize) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (pMem == SHPLIB_NULLPTR) return malloc(nNewSize); else return realloc(pMem, nNewSize); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (pMem == NULL) return ((void *)malloc(nNewSize)); else return ((void *)realloc(pMem, nNewSize)); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= if (pMem == NULL) @@ -227,12 +300,18 @@ static void *SfRealloc(void *pMem, int nNewSize) else return ((void *)realloc(pMem, nNewSize)); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if (pMem == SHPLIB_NULLPTR) return malloc(nNewSize); else return realloc(pMem, nNewSize); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -241,6 +320,7 @@ static void *SfRealloc(void *pMem, int nNewSize) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD /* Write out a header for the .shp and .shx files as well as the */ /* contents of the index (.shx) file. */ ======= @@ -257,17 +337,29 @@ static void *SfRealloc(void *pMem, int nNewSize) /* Write out a header for the .shp and .shx files as well as the */ /* contents of the index (.shx) file. */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +/* Write out a header for the .shp and .shx files as well as the */ +/* contents of the index (.shx) file. */ + +======= +/* Write out a header for the .shp and .shx files as well as the */ +/* contents of the index (.shx) file. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /************************************************************************/ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (psSHP->fpSHX == SHPLIB_NULLPTR) { ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) uchar abyHeader[100]; int i; int32 i32; @@ -276,12 +368,18 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) if (psSHP->fpSHX == NULL) { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= if (psSHP->fpSHX == SHPLIB_NULLPTR) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + if (psSHP->fpSHX == SHPLIB_NULLPTR) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error("SHPWriteHeader failed : SHX file is closed"); return; } @@ -291,6 +389,7 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD uchar abyHeader[100] = {0}; @@ -299,6 +398,8 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) int32 i32 = psSHP->nFileSize / 2; /* file size */ ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (i = 0; i < 100; i++) abyHeader[i] = 0; @@ -306,7 +407,18 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) abyHeader[3] = 0x0a; i32 = psSHP->nFileSize / 2; /* file size */ +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + + uchar abyHeader[100] = {0}; + abyHeader[2] = 0x27; /* magic cookie */ + abyHeader[3] = 0x0a; + + int32 i32 = psSHP->nFileSize / 2; /* file size */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ByteCopy(&i32, abyHeader + 24, 4); if (!bBigEndian) SwapWord(4, abyHeader + 24); @@ -321,6 +433,7 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) if (bBigEndian) SwapWord(4, abyHeader + 32); +<<<<<<< HEAD <<<<<<< HEAD double dValue = psSHP->adBoundsMin[0]; /* set bounds */ ======= @@ -357,6 +470,12 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) ======= double dValue = psSHP->adBoundsMin[0]; /* set bounds */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + dValue = psSHP->adBoundsMin[0]; /* set bounds */ +======= + double dValue = psSHP->adBoundsMin[0]; /* set bounds */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ByteCopy(&dValue, abyHeader + 36, 8); if (bBigEndian) SwapWord(8, abyHeader + 36); @@ -404,6 +523,7 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) char szErrorMsg[200]; @@ -421,6 +541,17 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psSHP->sHooks.Error("Failure writing .shp header"); +======= + char szErrorMsg[200]; + + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Failure writing .shp header: %s", strerror(errno)); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; + psSHP->sHooks.Error(szErrorMsg); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return; } @@ -432,6 +563,7 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) if (!bBigEndian) SwapWord(4, abyHeader + 24); <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (psSHP->sHooks.FSeek(psSHP->fpSHX, 0, 0) != 0 || @@ -451,12 +583,21 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) psSHP->sHooks.Error("Failure writing .shx header"); >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psSHP->sHooks.FSeek(psSHP->fpSHX, 0, 0) != 0 || psSHP->sHooks.FWrite(abyHeader, 100, 1, psSHP->fpSHX) != 1) { psSHP->sHooks.Error("Failure writing .shx header"); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + + if (psSHP->sHooks.FSeek(psSHP->fpSHX, 0, 0) != 0 || + psSHP->sHooks.FWrite(abyHeader, 100, 1, psSHP->fpSHX) != 1) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) char szErrorMsg[200]; snprintf(szErrorMsg, sizeof(szErrorMsg), @@ -464,7 +605,11 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return; } @@ -473,6 +618,7 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int32 *panSHX = STATIC_CAST(int32 *, malloc(sizeof(int32) * 2 * psSHP->nRecords)); @@ -485,17 +631,26 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) panSHX = (int32 *)malloc(sizeof(int32) * 2 * psSHP->nRecords); if (panSHX == NULL) { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + panSHX = (int32 *)malloc(sizeof(int32) * 2 * psSHP->nRecords); + if (panSHX == NULL) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= int32 *panSHX = STATIC_CAST(int32 *, malloc(sizeof(int32) * 2 * psSHP->nRecords)); if (panSHX == SHPLIB_NULLPTR) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error("Failure allocatin panSHX"); return; } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < psSHP->nRecords; i++) { ======= @@ -507,6 +662,12 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) ======= for (int i = 0; i < psSHP->nRecords; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < psSHP->nRecords; i++) { +======= + for (int i = 0; i < psSHP->nRecords; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) panSHX[i * 2] = psSHP->panRecOffset[i] / 2; panSHX[i * 2 + 1] = psSHP->panRecSize[i] / 2; if (!bBigEndian) @@ -518,6 +679,7 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) if (STATIC_CAST(int, psSHP->sHooks.FWrite(panSHX, sizeof(int32) * 2, @@ -542,6 +704,22 @@ void SHPAPI_CALL SHPWriteHeader(SHPHandle psSHP) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if ((int)psSHP->sHooks.FWrite(panSHX, sizeof(int32) * 2, psSHP->nRecords, + psSHP->fpSHX) != psSHP->nRecords) { + psSHP->sHooks.Error("Failure writing .shx contents"); +======= + if (STATIC_CAST(int, psSHP->sHooks.FWrite(panSHX, sizeof(int32) * 2, + psSHP->nRecords, psSHP->fpSHX)) != + psSHP->nRecords) { + char szErrorMsg[200]; + + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Failure writing .shx contents: %s", strerror(errno)); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; + psSHP->sHooks.Error(szErrorMsg); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } free(panSHX); @@ -566,6 +744,7 @@ SHPHandle SHPAPI_CALL SHPOpen(const char *pszLayer, const char *pszAccess) return SHPOpenLL(pszLayer, pszAccess, &sHooks); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD } /************************************************************************/ @@ -586,6 +765,9 @@ static int SHPGetLenWithoutExtension(const char *pszBasename) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -602,6 +784,10 @@ static int SHPGetLenWithoutExtension(const char *pszBasename) } } return nLen; +<<<<<<< HEAD +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -617,9 +803,12 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) char *pszFullname, *pszBasename; SHPHandle psSHP; @@ -629,12 +818,17 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, int bLazySHXLoading = FALSE; size_t nFullnameLen; +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Ensure the access string is one of the legal ones. We */ /* ensure the result string indicates binary to avoid common */ @@ -642,6 +836,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD bool bLazySHXLoading = false; if (strcmp(pszAccess, "rb+") == 0 || strcmp(pszAccess, "r+b") == 0 || @@ -659,18 +854,32 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, pszAccess = "r+b"; <<<<<<< HEAD ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (strcmp(pszAccess, "rb+") == 0 || strcmp(pszAccess, "r+b") == 0 || strcmp(pszAccess, "r+") == 0) pszAccess = "r+b"; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) else { bLazySHXLoading = strchr(pszAccess, 'l') != NULL; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= } else { bLazySHXLoading = strchr(pszAccess, 'l') != SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + bool bLazySHXLoading = false; + if (strcmp(pszAccess, "rb+") == 0 || strcmp(pszAccess, "r+b") == 0 || + strcmp(pszAccess, "r+") == 0) { + pszAccess = "r+b"; + } + else { + bLazySHXLoading = strchr(pszAccess, 'l') != SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pszAccess = "rb"; } @@ -680,6 +889,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, #if !defined(bBigEndian) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) { @@ -691,14 +901,28 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, } <<<<<<< HEAD ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) i = 1; if (*((uchar *)&i) == 1) bBigEndian = FALSE; else bBigEndian = TRUE; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + { + int i = 1; + if (*((uchar *)&i) == 1) + bBigEndian = false; + else + bBigEndian = true; + } +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif /* -------------------------------------------------------------------- */ @@ -706,6 +930,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD SHPHandle psSHP = STATIC_CAST(SHPHandle, calloc(sizeof(SHPInfo), 1)); ======= @@ -717,6 +942,12 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, ======= SHPHandle psSHP = STATIC_CAST(SHPHandle, calloc(sizeof(SHPInfo), 1)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psSHP = (SHPHandle)calloc(sizeof(SHPInfo), 1); +======= + SHPHandle psSHP = STATIC_CAST(SHPHandle, calloc(sizeof(SHPInfo), 1)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->bUpdated = FALSE; memcpy(&(psSHP->sHooks), psHooks, sizeof(SAHooks)); @@ -724,6 +955,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Open the .shp and .shx files. Note that files pulled from */ /* a PC to Unix with upper case filenames won't work! */ @@ -751,6 +983,8 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Compute the base (layer) name. If there is any extension */ /* on the passed in filename we will strip it off. */ /* -------------------------------------------------------------------- */ @@ -860,12 +1094,47 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, psSHP->sHooks.FClose(psSHP->fpSHP); free(psSHP); +<<<<<<< HEAD free(pszFullname); return SHPLIB_NULLPTR; } free(pszFullname); ======= +======= + free(pszBasename); +======= + /* Open the .shp and .shx files. Note that files pulled from */ + /* a PC to Unix with upper case filenames won't work! */ + /* -------------------------------------------------------------------- */ + const int nLenWithoutExtension = SHPGetLenWithoutExtension(pszLayer); + char *pszFullname = STATIC_CAST(char *, malloc(nLenWithoutExtension + 5)); + memcpy(pszFullname, pszLayer, nLenWithoutExtension); + memcpy(pszFullname + nLenWithoutExtension, ".shp", 5); + psSHP->fpSHP = psSHP->sHooks.FOpen(pszFullname, pszAccess); + if (psSHP->fpSHP == SHPLIB_NULLPTR) { + memcpy(pszFullname + nLenWithoutExtension, ".SHP", 5); + psSHP->fpSHP = psSHP->sHooks.FOpen(pszFullname, pszAccess); + } + + if (psSHP->fpSHP == SHPLIB_NULLPTR) { + const size_t nMessageLen = strlen(pszFullname) * 2 + 256; + char *pszMessage = STATIC_CAST(char *, malloc(nMessageLen)); + pszFullname[nLenWithoutExtension] = 0; + snprintf(pszMessage, nMessageLen, "Unable to open %s.shp or %s.SHP.", + pszFullname, pszFullname); + psHooks->Error(pszMessage); + free(pszMessage); + + free(psSHP); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) + free(pszFullname); + + return SHPLIB_NULLPTR; + } + +<<<<<<< HEAD +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(pszFullname, nFullnameLen, "%s.shx", pszBasename); psSHP->fpSHX = psSHP->sHooks.FOpen(pszFullname, pszAccess); if (psSHP->fpSHX == NULL) { @@ -893,11 +1162,43 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, free(pszFullname); free(pszBasename); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + memcpy(pszFullname + nLenWithoutExtension, ".shx", 5); + psSHP->fpSHX = psSHP->sHooks.FOpen(pszFullname, pszAccess); + if (psSHP->fpSHX == SHPLIB_NULLPTR) { + memcpy(pszFullname + nLenWithoutExtension, ".SHX", 5); + psSHP->fpSHX = psSHP->sHooks.FOpen(pszFullname, pszAccess); + } + + if (psSHP->fpSHX == SHPLIB_NULLPTR) { + const size_t nMessageLen = strlen(pszFullname) * 2 + 256; + char *pszMessage = STATIC_CAST(char *, malloc(nMessageLen)); + pszFullname[nLenWithoutExtension] = 0; + snprintf(pszMessage, nMessageLen, + "Unable to open %s.shx or %s.SHX. " + "Set SHAPE_RESTORE_SHX config option to YES to restore or " + "create it.", + pszFullname, pszFullname); + psHooks->Error(pszMessage); + free(pszMessage); + + psSHP->sHooks.FClose(psSHP->fpSHP); + free(psSHP); + free(pszFullname); + return SHPLIB_NULLPTR; + } + + free(pszFullname); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Read the file size from the SHP file. */ /* -------------------------------------------------------------------- */ +<<<<<<< HEAD <<<<<<< HEAD uchar *pabyBuf = STATIC_CAST(uchar *, malloc(100)); if (psSHP->sHooks.FRead(pabyBuf, 100, 1, psSHP->fpSHP) != 1) { @@ -914,6 +1215,8 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, (pabyBuf[25] << 16) | (pabyBuf[26] << 8) | pabyBuf[27]; if (psSHP->nFileSize < UINT_MAX / 2) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pabyBuf = (uchar *)malloc(100); psSHP->sHooks.FRead(pabyBuf, 100, 1, psSHP->fpSHP); @@ -970,17 +1273,33 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, (unsigned int)pabyBuf[26] * 256 + (unsigned int)pabyBuf[27]); if (psSHP->nFileSize < 0xFFFFFFFFU / 2) <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + uchar *pabyBuf = STATIC_CAST(uchar *, malloc(100)); + if (psSHP->sHooks.FRead(pabyBuf, 100, 1, psSHP->fpSHP) != 1) { + psSHP->sHooks.Error(".shp file is unreadable, or corrupt."); + psSHP->sHooks.FClose(psSHP->fpSHP); + psSHP->sHooks.FClose(psSHP->fpSHX); + free(pabyBuf); + free(psSHP); + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return SHPLIB_NULLPTR; } psSHP->nFileSize = (STATIC_CAST(unsigned int, pabyBuf[24]) << 24) | (pabyBuf[25] << 16) | (pabyBuf[26] << 8) | pabyBuf[27]; if (psSHP->nFileSize < UINT_MAX / 2) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->nFileSize *= 2; else psSHP->nFileSize = (UINT_MAX / 2) * 2; @@ -996,6 +1315,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, psSHP->sHooks.FClose(psSHP->fpSHX); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD free(pabyBuf); free(psSHP); @@ -1020,6 +1340,8 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, (pabyBuf[24] & 0x7F) * 256 * 256 * 256; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) free(psSHP); return (NULL); @@ -1028,11 +1350,24 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, psSHP->nRecords = pabyBuf[27] + pabyBuf[26] * 256 + pabyBuf[25] * 256 * 256 + (pabyBuf[24] & 0x7F) * 256 * 256 * 256; +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= psSHP->nRecords = pabyBuf[27] | (pabyBuf[26] << 8) | (pabyBuf[25] << 16) | ((pabyBuf[24] & 0x7F) << 24); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + free(pabyBuf); + free(psSHP); + + return SHPLIB_NULLPTR; + } + + psSHP->nRecords = pabyBuf[27] | (pabyBuf[26] << 8) | (pabyBuf[25] << 16) | + ((pabyBuf[24] & 0x7F) << 24); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->nRecords = (psSHP->nRecords - 50) / 4; psSHP->nShapeType = pabyBuf[32]; @@ -1040,8 +1375,12 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, if (psSHP->nRecords < 0 || psSHP->nRecords > 256000000) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char szErrorMsg[200]; +======= + char szError[200]; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(szErrorMsg, sizeof(szErrorMsg), "Record count in .shx header is %d, which seems\n" @@ -1064,6 +1403,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD psSHP->sHooks.Error(szError); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -1071,6 +1411,18 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + char szErrorMsg[200]; + + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Record count in .shx header is %d, which seems\n" + "unreasonable. Assuming header is corrupt.", + psSHP->nRecords); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; + psSHP->sHooks.Error(szErrorMsg); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.FClose(psSHP->fpSHP); psSHP->sHooks.FClose(psSHP->fpSHX); free(psSHP); @@ -1078,6 +1430,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return SHPLIB_NULLPTR; ======= @@ -1089,6 +1442,12 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, ======= return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + return (NULL); +======= + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* If a lot of records are advertized, check that the file is big enough */ @@ -1096,6 +1455,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, if (psSHP->nRecords >= 1024 * 1024) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psSHP->sHooks.FSeek(psSHP->fpSHX, 0, 2); const SAOffset nFileSize = psSHP->sHooks.FTell(psSHP->fpSHX); @@ -1105,6 +1465,8 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) SAOffset nFileSize; ======= @@ -1115,11 +1477,21 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD nFileSize / 2 < (SAOffset)(psSHP->nRecords * 4 + 50)) { psSHP->nRecords = (int)((nFileSize - 100) / 8); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= nFileSize / 2 < STATIC_CAST(SAOffset, psSHP->nRecords * 4 + 50)) { psSHP->nRecords = STATIC_CAST(int, (nFileSize - 100) / 8); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + psSHP->sHooks.FSeek(psSHP->fpSHX, 0, 2); + const SAOffset nFileSize = psSHP->sHooks.FTell(psSHP->fpSHX); + if (nFileSize > 100 && + nFileSize / 2 < STATIC_CAST(SAOffset, psSHP->nRecords * 4 + 50)) { + psSHP->nRecords = STATIC_CAST(int, (nFileSize - 100) / 8); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } psSHP->sHooks.FSeek(psSHP->fpSHX, 100, 0); } @@ -1129,6 +1501,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD double dValue; @@ -1140,6 +1513,12 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, double dValue; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + double dValue; + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (bBigEndian) SwapWord(8, pabyBuf + 36); memcpy(&dValue, pabyBuf + 36, 8); @@ -1191,6 +1570,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) psSHP->panRecOffset = @@ -1220,6 +1600,8 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->panRecOffset = (unsigned int *)malloc(sizeof(unsigned int) * MAX(1, psSHP->nMaxRecords)); psSHP->panRecSize = (unsigned int *)malloc(sizeof(unsigned int) * @@ -1244,6 +1626,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD psSHP->sHooks.Error(szError); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -1251,6 +1634,33 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + psSHP->panRecOffset = + STATIC_CAST(unsigned int *, + malloc(sizeof(unsigned int) * MAX(1, psSHP->nMaxRecords))); + psSHP->panRecSize = + STATIC_CAST(unsigned int *, + malloc(sizeof(unsigned int) * MAX(1, psSHP->nMaxRecords))); + if (bLazySHXLoading) + pabyBuf = SHPLIB_NULLPTR; + else + pabyBuf = STATIC_CAST(uchar *, malloc(8 * MAX(1, psSHP->nRecords))); + + if (psSHP->panRecOffset == SHPLIB_NULLPTR || + psSHP->panRecSize == SHPLIB_NULLPTR || + (!bLazySHXLoading && pabyBuf == SHPLIB_NULLPTR)) { + char szErrorMsg[200]; + + snprintf( + szErrorMsg, sizeof(szErrorMsg), + "Not enough memory to allocate requested memory (nRecords=%d).\n" + "Probably broken SHP file", + psSHP->nRecords); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; + psSHP->sHooks.Error(szErrorMsg); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.FClose(psSHP->fpSHP); psSHP->sHooks.FClose(psSHP->fpSHX); if (psSHP->panRecOffset) @@ -1262,6 +1672,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, free(psSHP); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return SHPLIB_NULLPTR; ======= @@ -1273,6 +1684,12 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, ======= return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + return (NULL); +======= + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } if (bLazySHXLoading) { @@ -1283,9 +1700,12 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) free(pabyBuf); // sometimes make cppcheck happy, but +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return (psSHP); } @@ -1321,16 +1741,33 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, psSHP->nRecords); psSHP->sHooks.Error(szError); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + free(pabyBuf); // sometimes make cppcheck happy, but + return (psSHP); + } + + if (STATIC_CAST(int, psSHP->sHooks.FRead(pabyBuf, 8, psSHP->nRecords, + psSHP->fpSHX)) != + psSHP->nRecords) { + char szErrorMsg[200]; + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(szErrorMsg, sizeof(szErrorMsg), "Failed to read all values for %d records in .shx file: %s.", psSHP->nRecords, strerror(errno)); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* SHX is short or unreadable for some reason. */ psSHP->sHooks.FClose(psSHP->fpSHP); @@ -1342,6 +1779,7 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return SHPLIB_NULLPTR; ======= @@ -1353,6 +1791,12 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, ======= return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + return (NULL); +======= + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* In read-only mode, we can close the SHX now */ @@ -1360,8 +1804,12 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, psSHP->sHooks.FClose(psSHP->fpSHX); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psSHP->fpSHX = SHPLIB_NULLPTR; +======= + psSHP->fpSHX = NULL; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } for (int i = 0; i < psSHP->nRecords; i++) { @@ -1434,10 +1882,48 @@ SHPHandle SHPAPI_CALL SHPOpenLL(const char *pszLayer, const char *pszAccess, free(pabyBuf); <<<<<<< HEAD return NULL; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + psSHP->fpSHX = SHPLIB_NULLPTR; + } + + for (int i = 0; i < psSHP->nRecords; i++) { + unsigned int nOffset; + memcpy(&nOffset, pabyBuf + i * 8, 4); + if (!bBigEndian) + SwapWord(4, &nOffset); + + unsigned int nLength; + memcpy(&nLength, pabyBuf + i * 8 + 4, 4); + if (!bBigEndian) + SwapWord(4, &nLength); + + if (nOffset > STATIC_CAST(unsigned int, INT_MAX)) { + char str[128]; + snprintf(str, sizeof(str), "Invalid offset for entity %d", i); + str[sizeof(str) - 1] = '\0'; + + psSHP->sHooks.Error(str); + SHPClose(psSHP); + free(pabyBuf); + return SHPLIB_NULLPTR; + } + if (nLength > STATIC_CAST(unsigned int, INT_MAX / 2 - 4)) { + char str[128]; + snprintf(str, sizeof(str), "Invalid length for entity %d", i); + str[sizeof(str) - 1] = '\0'; + + psSHP->sHooks.Error(str); + SHPClose(psSHP); + free(pabyBuf); + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } psSHP->panRecOffset[i] = nOffset * 2; psSHP->panRecSize[i] = nLength * 2; @@ -1468,6 +1954,7 @@ SHPHandle SHPAPI_CALL SHPOpenLLEx(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return SHPLIB_NULLPTR; ======= @@ -1479,6 +1966,12 @@ SHPHandle SHPAPI_CALL SHPOpenLLEx(const char *pszLayer, const char *pszAccess, ======= return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + return (NULL); +======= + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -1494,9 +1987,12 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) char *pszFullname, *pszBasename; SAFile fpSHP, fpSHX; @@ -1518,12 +2014,17 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, unsigned int nRecordLength = 0; unsigned int nRecordOffset = 50; +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Ensure the access string is one of the legal ones. We */ /* ensure the result string indicates binary to avoid common */ @@ -1532,6 +2033,7 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, if (strcmp(pszAccess, "rb+") == 0 || strcmp(pszAccess, "r+b") == 0 || <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD strcmp(pszAccess, "r+") == 0) { pszAccess = "r+b"; @@ -1544,11 +2046,19 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, strcmp(pszAccess, "r+") == 0) pszAccess = "r+b"; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + strcmp(pszAccess, "r+") == 0) + pszAccess = "r+b"; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= strcmp(pszAccess, "r+") == 0) { pszAccess = "r+b"; } +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) else { pszAccess = "rb"; } @@ -1559,6 +2069,7 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, #if !defined(bBigEndian) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) { @@ -1598,6 +2109,8 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, free(pszFullname); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) i = 1; if (*((uchar *)&i) == 1) bBigEndian = FALSE; @@ -1646,10 +2159,50 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, free(pszFullname); +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + { + int i = 1; + if (*((uchar *)&i) == 1) + bBigEndian = false; + else + bBigEndian = true; + } +#endif + + /* -------------------------------------------------------------------- */ + /* Open the .shp file. Note that files pulled from */ + /* a PC to Unix with upper case filenames won't work! */ + /* -------------------------------------------------------------------- */ + const int nLenWithoutExtension = SHPGetLenWithoutExtension(pszLayer); + char *pszFullname = STATIC_CAST(char *, malloc(nLenWithoutExtension + 5)); + memcpy(pszFullname, pszLayer, nLenWithoutExtension); + memcpy(pszFullname + nLenWithoutExtension, ".shp", 5); + SAFile fpSHP = psHooks->FOpen(pszFullname, pszAccess); + if (fpSHP == SHPLIB_NULLPTR) { + memcpy(pszFullname + nLenWithoutExtension, ".SHP", 5); + fpSHP = psHooks->FOpen(pszFullname, pszAccess); + } + + if (fpSHP == SHPLIB_NULLPTR) { + const size_t nMessageLen = strlen(pszFullname) * 2 + 256; + char *pszMessage = STATIC_CAST(char *, malloc(nMessageLen)); + + pszFullname[nLenWithoutExtension] = 0; + snprintf(pszMessage, nMessageLen, "Unable to open %s.shp or %s.SHP.", + pszFullname, pszFullname); + psHooks->Error(pszMessage); + free(pszMessage); + + free(pszFullname); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return (0); } @@ -1659,6 +2212,7 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) uchar *pabyBuf = STATIC_CAST(uchar *, malloc(100)); @@ -1678,6 +2232,8 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, pabyBuf[27]; if (nSHPFilesize < UINT_MAX / 2) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pabyBuf = (uchar *)malloc(100); psHooks->FRead(pabyBuf, 100, 1, fpSHP); @@ -1692,10 +2248,18 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, (unsigned int)pabyBuf[26] * 256 + (unsigned int)pabyBuf[27]); if (nSHPFilesize < 0xFFFFFFFFU / 2) <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + uchar *pabyBuf = STATIC_CAST(uchar *, malloc(100)); + if (psHooks->FRead(pabyBuf, 100, 1, fpSHP) != 1) { + psHooks->Error(".shp file is unreadable, or corrupt."); + psHooks->FClose(fpSHP); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) free(pabyBuf); free(pszFullname); @@ -1707,7 +2271,11 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, (pabyBuf[25] << 16) | (pabyBuf[26] << 8) | pabyBuf[27]; if (nSHPFilesize < UINT_MAX / 2) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) nSHPFilesize *= 2; else nSHPFilesize = (UINT_MAX / 2) * 2; @@ -1715,6 +2283,7 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) memcpy(pszFullname + nLenWithoutExtension, ".shx", 5); @@ -1756,6 +2325,8 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(pszFullname, nFullnameLen, "%s.shx", pszBasename); fpSHX = psHooks->FOpen(pszFullname, pszSHXAccess); @@ -1773,7 +2344,29 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, free(pszBasename); free(pszFullname); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + memcpy(pszFullname + nLenWithoutExtension, ".shx", 5); + const char pszSHXAccess[] = "w+b"; + SAFile fpSHX = psHooks->FOpen(pszFullname, pszSHXAccess); + if (fpSHX == SHPLIB_NULLPTR) { + size_t nMessageLen = strlen(pszFullname) * 2 + 256; + char *pszMessage = STATIC_CAST(char *, malloc(nMessageLen)); + pszFullname[nLenWithoutExtension] = 0; + snprintf(pszMessage, nMessageLen, + "Error opening file %s.shx for writing", pszFullname); + psHooks->Error(pszMessage); + free(pszMessage); + + psHooks->FClose(fpSHP); + + free(pabyBuf); + free(pszFullname); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return (0); } @@ -1783,6 +2376,7 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, psHooks->FSeek(fpSHP, 100, 0); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char *pabySHXHeader = STATIC_CAST(char *, malloc(100)); memcpy(pabySHXHeader, pabyBuf, 100); @@ -1836,6 +2430,8 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pabySHXHeader = (char *)malloc(100); memcpy(pabySHXHeader, pabyBuf, 100); psHooks->FWrite(pabySHXHeader, 100, 1, fpSHX); @@ -1850,7 +2446,35 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, psHooks->FWrite(abyReadedRecord, 8, 1, fpSHX); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + char *pabySHXHeader = STATIC_CAST(char *, malloc(100)); + memcpy(pabySHXHeader, pabyBuf, 100); + psHooks->FWrite(pabySHXHeader, 100, 1, fpSHX); + free(pabyBuf); + + // unsigned int nCurrentRecordOffset = 0; + unsigned int nCurrentSHPOffset = 100; + unsigned int nRealSHXContentSize = 100; + unsigned int niRecord = 0; + unsigned int nRecordLength = 0; + unsigned int nRecordOffset = 50; + char abyReadRecord[8]; + + while (nCurrentSHPOffset < nSHPFilesize) { + if (psHooks->FRead(&niRecord, 4, 1, fpSHP) == 1 && + psHooks->FRead(&nRecordLength, 4, 1, fpSHP) == 1) { + if (!bBigEndian) + SwapWord(4, &nRecordOffset); + memcpy(abyReadRecord, &nRecordOffset, 4); + memcpy(abyReadRecord + 4, &nRecordLength, 4); + + psHooks->FWrite(abyReadRecord, 8, 1, fpSHX); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (!bBigEndian) SwapWord(4, &nRecordOffset); if (!bBigEndian) @@ -1858,6 +2482,7 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, nRecordOffset += nRecordLength + 4; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD // nCurrentRecordOffset += 8; ======= @@ -1867,6 +2492,11 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, ======= // nCurrentRecordOffset += 8; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + // nCurrentRecordOffset += 8; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) nCurrentSHPOffset += 8 + nRecordLength * 2; psHooks->FSeek(fpSHP, nCurrentSHPOffset, 0); @@ -1875,11 +2505,14 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, else { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psHooks->Error("Error parsing .shp to restore .shx"); ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) nMessageLen = strlen(pszBasename) * 2 + 256; pszMessage = (char *)malloc(nMessageLen); snprintf(pszMessage, nMessageLen, @@ -1887,12 +2520,18 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, psHooks->Error(pszMessage); free(pszMessage); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= psHooks->Error("Error parsing .shp to restore .shx"); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + psHooks->Error("Error parsing .shp to restore .shx"); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psHooks->FClose(fpSHX); psHooks->FClose(fpSHP); @@ -1901,6 +2540,7 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= free(pszBasename); >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -1909,6 +2549,11 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + free(pszBasename); +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) free(pszFullname); return (0); @@ -1926,6 +2571,7 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD free(pszFullname); ======= @@ -1941,6 +2587,14 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, ======= free(pszFullname); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + free(pabyBuf); + free(pszFullname); + free(pszBasename); +======= + free(pszFullname); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) free(pabySHXHeader); return (1); @@ -1951,6 +2605,7 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD /* */ /* Close the .shp and .shx files. */ ======= @@ -1967,12 +2622,22 @@ int SHPAPI_CALL SHPRestoreSHX(const char *pszLayer, const char *pszAccess, /* */ /* Close the .shp and .shx files. */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +/* */ +/* Close the .shp and .shx files. */ + +======= +/* */ +/* Close the .shp and .shx files. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /************************************************************************/ void SHPAPI_CALL SHPClose(SHPHandle psSHP) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (psSHP == SHPLIB_NULLPTR) return; @@ -1980,12 +2645,24 @@ void SHPAPI_CALL SHPClose(SHPHandle psSHP) /* -------------------------------------------------------------------- */ /* Update the header if we have modified anything. */ ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psSHP == NULL) return; /* -------------------------------------------------------------------- */ /* Update the header if we have modified anything. */ +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + if (psSHP == SHPLIB_NULLPTR) + return; + + /* -------------------------------------------------------------------- */ + /* Update the header if we have modified anything. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ if (psSHP->bUpdated) SHPWriteHeader(psSHP); @@ -1996,6 +2673,7 @@ void SHPAPI_CALL SHPClose(SHPHandle psSHP) free(psSHP->panRecOffset); free(psSHP->panRecSize); +<<<<<<< HEAD <<<<<<< HEAD if (psSHP->fpSHX != SHPLIB_NULLPTR) psSHP->sHooks.FClose(psSHP->fpSHX); @@ -2010,6 +2688,8 @@ void SHPAPI_CALL SHPClose(SHPHandle psSHP) } if (psSHP->psCachedObject != SHPLIB_NULLPTR) { ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psSHP->fpSHX != NULL) psSHP->sHooks.FClose(psSHP->fpSHX); psSHP->sHooks.FClose(psSHP->fpSHP); @@ -2021,8 +2701,25 @@ void SHPAPI_CALL SHPClose(SHPHandle psSHP) if (psSHP->pabyObjectBuf != NULL) { free(psSHP->pabyObjectBuf); } - if (psSHP->psCachedObject != NULL) { ->>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) + if (psSHP->psCachedObject != NULL) { +<<<<<<< HEAD +>>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + if (psSHP->fpSHX != SHPLIB_NULLPTR) + psSHP->sHooks.FClose(psSHP->fpSHX); + psSHP->sHooks.FClose(psSHP->fpSHP); + + if (psSHP->pabyRec != SHPLIB_NULLPTR) { + free(psSHP->pabyRec); + } + + if (psSHP->pabyObjectBuf != SHPLIB_NULLPTR) { + free(psSHP->pabyObjectBuf); + } + if (psSHP->psCachedObject != SHPLIB_NULLPTR) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) free(psSHP->psCachedObject); } @@ -2081,6 +2778,7 @@ void SHPAPI_CALL SHPSetFastModeReadObject(SHPHandle hSHP, int bFastMode) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) if (hSHP->psCachedObject == SHPLIB_NULLPTR) { @@ -2100,6 +2798,17 @@ void SHPAPI_CALL SHPSetFastModeReadObject(SHPHandle hSHP, int bFastMode) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (hSHP->psCachedObject == NULL) { + hSHP->psCachedObject = (SHPObject *)calloc(1, sizeof(SHPObject)); + assert(hSHP->psCachedObject != NULL); +======= + if (hSHP->psCachedObject == SHPLIB_NULLPTR) { + hSHP->psCachedObject = + STATIC_CAST(SHPObject *, calloc(1, sizeof(SHPObject))); + assert(hSHP->psCachedObject != SHPLIB_NULLPTR); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } @@ -2117,6 +2826,7 @@ void SHPAPI_CALL SHPGetInfo(SHPHandle psSHP, int *pnEntities, int *pnShapeType, { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (psSHP == SHPLIB_NULLPTR) return; @@ -2153,6 +2863,8 @@ void SHPAPI_CALL SHPGetInfo(SHPHandle psSHP, int *pnEntities, int *pnShapeType, if (padfMaxBound != NULL) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int i; if (psSHP == NULL) @@ -2168,10 +2880,28 @@ void SHPAPI_CALL SHPGetInfo(SHPHandle psSHP, int *pnEntities, int *pnShapeType, if (padfMinBound != NULL) padfMinBound[i] = psSHP->adBoundsMin[i]; if (padfMaxBound != NULL) +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= if (padfMaxBound != SHPLIB_NULLPTR) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + if (psSHP == SHPLIB_NULLPTR) + return; + + if (pnEntities != SHPLIB_NULLPTR) + *pnEntities = psSHP->nRecords; + + if (pnShapeType != SHPLIB_NULLPTR) + *pnShapeType = psSHP->nShapeType; + + for (int i = 0; i < 4; i++) { + if (padfMinBound != SHPLIB_NULLPTR) + padfMinBound[i] = psSHP->adBoundsMin[i]; + if (padfMaxBound != SHPLIB_NULLPTR) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) padfMaxBound[i] = psSHP->adBoundsMax[i]; } } @@ -2205,10 +2935,13 @@ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD /* -------------------------------------------------------------------- */ /* Establish the byte order on this system. */ /* -------------------------------------------------------------------- */ ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) char *pszBasename = NULL, *pszFullname = NULL; int i; SAFile fpSHP = NULL, fpSHX = NULL; @@ -2328,18 +3061,70 @@ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, free(pszBasename); pszBasename = NULL; <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= pszFullname = SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +/* -------------------------------------------------------------------- */ +/* Establish the byte order on this system. */ +/* -------------------------------------------------------------------- */ +#if !defined(bBigEndian) + { + int i = 1; + if (*((uchar *)&i) == 1) + bBigEndian = false; + else + bBigEndian = true; + } +#endif + + /* -------------------------------------------------------------------- */ + /* Open the two files so we can write their headers. */ + /* -------------------------------------------------------------------- */ + const int nLenWithoutExtension = SHPGetLenWithoutExtension(pszLayer); + char *pszFullname = STATIC_CAST(char *, malloc(nLenWithoutExtension + 5)); + memcpy(pszFullname, pszLayer, nLenWithoutExtension); + memcpy(pszFullname + nLenWithoutExtension, ".shp", 5); + SAFile fpSHP = psHooks->FOpen(pszFullname, "wb"); + if (fpSHP == SHPLIB_NULLPTR) { + char szErrorMsg[200]; + snprintf(szErrorMsg, sizeof(szErrorMsg), "Failed to create file %s: %s", + pszFullname, strerror(errno)); + psHooks->Error(szErrorMsg); + + free(pszFullname); + return NULL; + } + + memcpy(pszFullname + nLenWithoutExtension, ".shx", 5); + SAFile fpSHX = psHooks->FOpen(pszFullname, "wb"); + if (fpSHX == SHPLIB_NULLPTR) { + char szErrorMsg[200]; + snprintf(szErrorMsg, sizeof(szErrorMsg), "Failed to create file %s: %s", + pszFullname, strerror(errno)); + psHooks->Error(szErrorMsg); + + free(pszFullname); + psHooks->FClose(fpSHP); + return NULL; + } + + free(pszFullname); + pszFullname = SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Prepare header block for .shp file. */ /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD uchar abyHeader[100]; memset(abyHeader, 0, sizeof(abyHeader)); @@ -2353,12 +3138,21 @@ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, uchar abyHeader[100]; memset(abyHeader, 0, sizeof(abyHeader)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < 100; i++) + abyHeader[i] = 0; +======= + uchar abyHeader[100]; + memset(abyHeader, 0, sizeof(abyHeader)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) abyHeader[2] = 0x27; /* magic cookie */ abyHeader[3] = 0x0a; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int32 i32 = 50; /* file size */ ======= @@ -2370,6 +3164,12 @@ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, ======= int32 i32 = 50; /* file size */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + i32 = 50; /* file size */ +======= + int32 i32 = 50; /* file size */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ByteCopy(&i32, abyHeader + 24, 4); if (!bBigEndian) SwapWord(4, abyHeader + 24); @@ -2386,6 +3186,7 @@ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD double dValue = 0.0; /* set bounds */ ======= @@ -2397,6 +3198,12 @@ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, ======= double dValue = 0.0; /* set bounds */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + dValue = 0.0; /* set bounds */ +======= + double dValue = 0.0; /* set bounds */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ByteCopy(&dValue, abyHeader + 36, 8); ByteCopy(&dValue, abyHeader + 44, 8); ByteCopy(&dValue, abyHeader + 52, 8); @@ -2409,6 +3216,7 @@ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) char szErrorMsg[200]; @@ -2431,6 +3239,23 @@ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psHooks->Error("Failed to write .shp header."); + goto error; +======= + char szErrorMsg[200]; + + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Failed to write .shp header: %s", strerror(errno)); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; + psHooks->Error(szErrorMsg); + + free(pszFullname); + psHooks->FClose(fpSHP); + psHooks->FClose(fpSHX); + return NULL; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* -------------------------------------------------------------------- */ @@ -2445,6 +3270,7 @@ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) char szErrorMsg[200]; @@ -2467,6 +3293,23 @@ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psHooks->Error("Failed to write .shx header."); + goto error; +======= + char szErrorMsg[200]; + + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Failure writing .shx header: %s", strerror(errno)); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; + psHooks->Error(szErrorMsg); + + free(pszFullname); + psHooks->FClose(fpSHP); + psHooks->FClose(fpSHX); + return NULL; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* -------------------------------------------------------------------- */ @@ -2479,9 +3322,12 @@ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) error: if (pszFullname) @@ -2493,9 +3339,14 @@ SHPHandle SHPAPI_CALL SHPCreateLL(const char *pszLayer, int nShapeType, if (fpSHX) psHooks->FClose(fpSHX); return NULL; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -2532,6 +3383,7 @@ void SHPAPI_CALL SHPComputeExtents(SHPObject *psObject) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= int i; @@ -2542,6 +3394,12 @@ void SHPAPI_CALL SHPComputeExtents(SHPObject *psObject) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int i; + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Build extents for this object. */ /* -------------------------------------------------------------------- */ @@ -2554,6 +3412,7 @@ void SHPAPI_CALL SHPComputeExtents(SHPObject *psObject) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < psObject->nVertices; i++) { ======= @@ -2565,6 +3424,12 @@ void SHPAPI_CALL SHPComputeExtents(SHPObject *psObject) ======= for (int i = 0; i < psObject->nVertices; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < psObject->nVertices; i++) { +======= + for (int i = 0; i < psObject->nVertices; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psObject->dfXMin = MIN(psObject->dfXMin, psObject->padfX[i]); psObject->dfYMin = MIN(psObject->dfYMin, psObject->padfY[i]); psObject->dfZMin = MIN(psObject->dfZMin, psObject->padfZ[i]); @@ -2592,17 +3457,21 @@ SHPObject SHPAPI_CALL1(*) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD SHPObject *psObject = STATIC_CAST(SHPObject *, calloc(1, sizeof(SHPObject))); ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) SHPObject *psObject; int i, bHasM, bHasZ; psObject = (SHPObject *)calloc(1, sizeof(SHPObject)); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -2610,6 +3479,12 @@ SHPObject SHPAPI_CALL1(*) SHPObject *psObject = STATIC_CAST(SHPObject *, calloc(1, sizeof(SHPObject))); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + SHPObject *psObject = + STATIC_CAST(SHPObject *, calloc(1, sizeof(SHPObject))); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psObject->nSHPType = nSHPType; psObject->nShapeId = nShapeId; psObject->bMeasureIsUsed = FALSE; @@ -2617,8 +3492,12 @@ SHPObject SHPAPI_CALL1(*) /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Establish whether this shape type has M, and Z values. */ +======= + /* Establish whether this shape type has M, and Z values. */ +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ bool bHasM; bool bHasZ; @@ -2643,17 +3522,32 @@ SHPObject SHPAPI_CALL1(*) <<<<<<< HEAD bHasM = TRUE; bHasZ = FALSE; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= bHasM = true; bHasZ = false; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + /* Establish whether this shape type has M, and Z values. */ + /* -------------------------------------------------------------------- */ + bool bHasM; + bool bHasZ; + + if (nSHPType == SHPT_ARCM || nSHPType == SHPT_POINTM || + nSHPType == SHPT_POLYGONM || nSHPType == SHPT_MULTIPOINTM) { + bHasM = true; + bHasZ = false; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } else if (nSHPType == SHPT_ARCZ || nSHPType == SHPT_POINTZ || nSHPType == SHPT_POLYGONZ || nSHPType == SHPT_MULTIPOINTZ || nSHPType == SHPT_MULTIPATCH) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD bHasM = true; bHasZ = true; @@ -2664,13 +3558,18 @@ SHPObject SHPAPI_CALL1(*) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) bHasM = TRUE; bHasZ = TRUE; } else { bHasM = FALSE; bHasZ = FALSE; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= bHasM = true; bHasZ = true; @@ -2678,7 +3577,11 @@ SHPObject SHPAPI_CALL1(*) else { bHasM = false; bHasZ = false; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* -------------------------------------------------------------------- */ @@ -2694,6 +3597,7 @@ SHPObject SHPAPI_CALL1(*) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) psObject->panPartStart = @@ -2711,12 +3615,23 @@ SHPObject SHPAPI_CALL1(*) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psObject->panPartStart = (int *)calloc(sizeof(int), psObject->nParts); + psObject->panPartType = (int *)malloc(sizeof(int) * psObject->nParts); +======= + psObject->panPartStart = + STATIC_CAST(int *, calloc(sizeof(int), psObject->nParts)); + psObject->panPartType = + STATIC_CAST(int *, malloc(sizeof(int) * psObject->nParts)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psObject->panPartStart[0] = 0; psObject->panPartType[0] = SHPP_RING; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < nParts; i++) { if (panPartStart != SHPLIB_NULLPTR) @@ -2724,11 +3639,14 @@ SHPObject SHPAPI_CALL1(*) if (panPartType != SHPLIB_NULLPTR) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (i = 0; i < nParts; i++) { if (panPartStart != NULL) psObject->panPartStart[i] = panPartStart[i]; if (panPartType != NULL) +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= for (i = 0; i < nParts; i++) { @@ -2737,13 +3655,19 @@ SHPObject SHPAPI_CALL1(*) if (panPartType != NULL) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= for (int i = 0; i < nParts; i++) { if (panPartStart != SHPLIB_NULLPTR) psObject->panPartStart[i] = panPartStart[i]; if (panPartType != SHPLIB_NULLPTR) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psObject->panPartType[i] = panPartType[i]; else psObject->panPartType[i] = SHPP_RING; @@ -2760,6 +3684,7 @@ SHPObject SHPAPI_CALL1(*) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) const size_t nSize = sizeof(double) * nVertices; @@ -2787,6 +3712,8 @@ SHPObject SHPAPI_CALL1(*) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psObject->padfX = (double *)calloc(sizeof(double), nVertices); psObject->padfY = (double *)calloc(sizeof(double), nVertices); psObject->padfZ = (double *)calloc(sizeof(double), nVertices); @@ -2804,11 +3731,37 @@ SHPObject SHPAPI_CALL1(*) } if (padfM != NULL && bHasM) <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + const size_t nSize = sizeof(double) * nVertices; + psObject->padfX = + STATIC_CAST(double *, padfX ? malloc(nSize) + : calloc(sizeof(double), nVertices)); + psObject->padfY = + STATIC_CAST(double *, padfY ? malloc(nSize) + : calloc(sizeof(double), nVertices)); + psObject->padfZ = STATIC_CAST( + double *, + padfZ &&bHasZ ? malloc(nSize) : calloc(sizeof(double), nVertices)); + psObject->padfM = STATIC_CAST( + double *, + padfM &&bHasM ? malloc(nSize) : calloc(sizeof(double), nVertices)); + if (padfX != SHPLIB_NULLPTR) + memcpy(psObject->padfX, padfX, nSize); + if (padfY != SHPLIB_NULLPTR) + memcpy(psObject->padfY, padfY, nSize); + if (padfZ != SHPLIB_NULLPTR && bHasZ) + memcpy(psObject->padfZ, padfZ, nSize); + if (padfM != SHPLIB_NULLPTR && bHasM) { + memcpy(psObject->padfM, padfM, nSize); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psObject->bMeasureIsUsed = TRUE; } } @@ -2835,6 +3788,7 @@ SHPObject SHPAPI_CALL1(*) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return (SHPCreateObject(nSHPType, -1, 0, SHPLIB_NULLPTR, SHPLIB_NULLPTR, nVertices, padfX, padfY, padfZ, SHPLIB_NULLPTR)); @@ -2850,6 +3804,14 @@ SHPObject SHPAPI_CALL1(*) return (SHPCreateObject(nSHPType, -1, 0, SHPLIB_NULLPTR, SHPLIB_NULLPTR, nVertices, padfX, padfY, padfZ, SHPLIB_NULLPTR)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + return (SHPCreateObject(nSHPType, -1, 0, NULL, NULL, nVertices, padfX, + padfY, padfZ, NULL)); +======= + return (SHPCreateObject(nSHPType, -1, 0, SHPLIB_NULLPTR, SHPLIB_NULLPTR, + nVertices, padfX, padfY, padfZ, SHPLIB_NULLPTR)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -2865,18 +3827,26 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) unsigned int nRecordOffset, nRecordSize = 0; int i; uchar *pabyRec; int32 i32; int bExtendFile = FALSE; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->bUpdated = TRUE; /* -------------------------------------------------------------------- */ @@ -2907,6 +3877,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) panRecOffsetNew = STATIC_CAST( @@ -2922,6 +3893,8 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, sizeof(unsigned int) * nNewMaxRecords)); if (panRecSizeNew == SHPLIB_NULLPTR) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) panRecOffsetNew = (unsigned int *)SfRealloc( psSHP->panRecOffset, sizeof(unsigned int) * nNewMaxRecords); if (panRecOffsetNew == NULL) @@ -2931,6 +3904,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, panRecSizeNew = (unsigned int *)SfRealloc( psSHP->panRecSize, sizeof(unsigned int) * nNewMaxRecords); if (panRecSizeNew == NULL) +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= panRecOffsetNew = (unsigned int *)SfRealloc( @@ -2944,6 +3918,13 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, if (panRecSizeNew == NULL) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + panRecOffsetNew = STATIC_CAST( + unsigned int *, SfRealloc(psSHP->panRecOffset, + sizeof(unsigned int) * nNewMaxRecords)); + if (panRecOffsetNew == SHPLIB_NULLPTR) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return -1; psSHP->panRecOffset = panRecOffsetNew; @@ -2951,7 +3932,11 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, unsigned int *, SfRealloc(psSHP->panRecSize, sizeof(unsigned int) * nNewMaxRecords)); if (panRecSizeNew == SHPLIB_NULLPTR) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return -1; psSHP->panRecSize = panRecSizeNew; @@ -2964,6 +3949,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) uchar *pabyRec = @@ -2979,6 +3965,8 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, unsigned int nRecordSize = 0; const bool bFirstFeature = psSHP->nRecords == 0; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pabyRec = (uchar *)malloc(psObject->nVertices * 4 * sizeof(double) + psObject->nParts * 8 + 128); if (pabyRec == NULL) @@ -3015,16 +4003,36 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, psObject->nSHPType == SHPT_ARCZ || psObject->nSHPType == SHPT_ARCM || psObject->nSHPType == SHPT_MULTIPATCH) { int32 nPoints, nParts; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) -<<<<<<< HEAD +<<<<<<< HEAD +======= +======= + uchar *pabyRec = + STATIC_CAST(uchar *, malloc(psObject->nVertices * 4 * sizeof(double) + + psObject->nParts * 8 + 128)); + if (pabyRec == SHPLIB_NULLPTR) + return -1; + + /* -------------------------------------------------------------------- */ + /* Extract vertices for a Polygon or Arc. */ + /* -------------------------------------------------------------------- */ + unsigned int nRecordSize = 0; + const bool bFirstFeature = psSHP->nRecords == 0; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psObject->nSHPType == SHPT_POLYGON || psObject->nSHPType == SHPT_POLYGONZ || psObject->nSHPType == SHPT_POLYGONM || psObject->nSHPType == SHPT_ARC || psObject->nSHPType == SHPT_ARCZ || psObject->nSHPType == SHPT_ARCM || psObject->nSHPType == SHPT_MULTIPATCH) { +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int32 nPoints = psObject->nVertices; int32 nParts = psObject->nParts; @@ -3056,6 +4064,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, 4 * psObject->nParts); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < psObject->nParts; i++) { ======= @@ -3067,6 +4076,12 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ======= for (int i = 0; i < psObject->nParts; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < psObject->nParts; i++) { +======= + for (int i = 0; i < psObject->nParts; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (bBigEndian) SwapWord(4, pabyRec + 44 + 8 + 4 * i); nRecordSize += 4; @@ -3080,6 +4095,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, 4 * psObject->nParts); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < psObject->nParts; i++) { ======= @@ -3091,6 +4107,12 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ======= for (int i = 0; i < psObject->nParts; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < psObject->nParts; i++) { +======= + for (int i = 0; i < psObject->nParts; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (bBigEndian) SwapWord(4, pabyRec + nRecordSize); nRecordSize += 4; @@ -3102,6 +4124,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < psObject->nVertices; i++) { ======= @@ -3113,6 +4136,12 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ======= for (int i = 0; i < psObject->nVertices; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < psObject->nVertices; i++) { +======= + for (int i = 0; i < psObject->nVertices; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ByteCopy(psObject->padfX + i, pabyRec + nRecordSize, 8); ByteCopy(psObject->padfY + i, pabyRec + nRecordSize + 8, 8); @@ -3143,6 +4172,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < psObject->nVertices; i++) { ======= @@ -3154,6 +4184,12 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ======= for (int i = 0; i < psObject->nVertices; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < psObject->nVertices; i++) { +======= + for (int i = 0; i < psObject->nVertices; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ByteCopy(psObject->padfZ + i, pabyRec + nRecordSize, 8); if (bBigEndian) SwapWord(8, pabyRec + nRecordSize); @@ -3184,6 +4220,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < psObject->nVertices; i++) { ======= @@ -3195,6 +4232,12 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ======= for (int i = 0; i < psObject->nVertices; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < psObject->nVertices; i++) { +======= + for (int i = 0; i < psObject->nVertices; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ByteCopy(psObject->padfM + i, pabyRec + nRecordSize, 8); if (bBigEndian) SwapWord(8, pabyRec + nRecordSize); @@ -3206,6 +4249,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Extract vertices for a MultiPoint. */ ======= @@ -3217,12 +4261,19 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ======= /* Extract vertices for a MultiPoint. */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + /* Extract vertices for a MultiPoint. */ +======= + /* Extract vertices for a MultiPoint. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ else if (psObject->nSHPType == SHPT_MULTIPOINT || psObject->nSHPType == SHPT_MULTIPOINTZ || psObject->nSHPType == SHPT_MULTIPOINTM) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int32 nPoints = psObject->nVertices; ======= @@ -3260,6 +4311,16 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= + int32 nPoints; +======= + int32 nPoints = psObject->nVertices; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) + + _SHPSetBounds(pabyRec + 12, psObject); + +<<<<<<< HEAD +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) _SHPSetBounds(pabyRec + 12, psObject); if (bBigEndian) @@ -3270,7 +4331,20 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ByteCopy(psObject->padfX + i, pabyRec + 48 + i * 16, 8); ByteCopy(psObject->padfY + i, pabyRec + 48 + i * 16 + 8, 8); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + if (bBigEndian) + SwapWord(4, &nPoints); + ByteCopy(&nPoints, pabyRec + 44, 4); + + for (int i = 0; i < psObject->nVertices; i++) { + ByteCopy(psObject->padfX + i, pabyRec + 48 + i * 16, 8); + ByteCopy(psObject->padfY + i, pabyRec + 48 + i * 16 + 8, 8); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (bBigEndian) SwapWord(8, pabyRec + 48 + i * 16); if (bBigEndian) @@ -3292,6 +4366,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < psObject->nVertices; i++) { ======= @@ -3303,6 +4378,12 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ======= for (int i = 0; i < psObject->nVertices; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < psObject->nVertices; i++) { +======= + for (int i = 0; i < psObject->nVertices; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ByteCopy(psObject->padfZ + i, pabyRec + nRecordSize, 8); if (bBigEndian) SwapWord(8, pabyRec + nRecordSize); @@ -3325,6 +4406,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < psObject->nVertices; i++) { ======= @@ -3336,6 +4418,12 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ======= for (int i = 0; i < psObject->nVertices; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < psObject->nVertices; i++) { +======= + for (int i = 0; i < psObject->nVertices; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ByteCopy(psObject->padfM + i, pabyRec + nRecordSize, 8); if (bBigEndian) SwapWord(8, pabyRec + nRecordSize); @@ -3347,6 +4435,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Write point. */ ======= @@ -3358,6 +4447,12 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ======= /* Write point. */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + /* Write point. */ +======= + /* Write point. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ else if (psObject->nSHPType == SHPT_POINT || psObject->nSHPType == SHPT_POINTZ || @@ -3396,15 +4491,19 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD else { /* unknown type */ assert(false); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) else { /* unknown type */ assert(FALSE); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= @@ -3412,11 +4511,17 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, /* unknown type */ assert(FALSE); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= else { /* unknown type */ assert(false); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* -------------------------------------------------------------------- */ @@ -3424,6 +4529,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) /* rewriting the last record of the file, then we can update it in */ @@ -3431,6 +4537,10 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, /* fit, then put it back where the original came from. Otherwise */ /* write at the end. */ <<<<<<< HEAD +======= + /* rewriting and existing record, and it will fit, then put it */ + /* back where the original came from. Otherwise write at the end. */ +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ SAOffset nRecordOffset; bool bAppendToLastRecord = false; @@ -3449,6 +4559,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, "The maximum file size of %u has been reached. " "The current record of size %u cannot be added.", psSHP->nFileSize, nRecordSize); +<<<<<<< HEAD str[sizeof(str) - 1] = '\0'; ======= ======= @@ -3457,6 +4568,13 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, /* back where the original came from. Otherwise write at the end. */ ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + /* rewriting the last record of the file, then we can update it in */ + /* place. Otherwise if rewriting an existing record, and it will */ + /* fit, then put it back where the original came from. Otherwise */ + /* write at the end. */ +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ SAOffset nRecordOffset; bool bAppendToLastRecord = false; @@ -3477,12 +4595,17 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, psSHP->nFileSize, nRecordSize); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= str[sizeof(str) - 1] = '\0'; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + str[sizeof(str) - 1] = '\0'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error(str); free(pabyRec); return -1; @@ -3500,6 +4623,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int32 i32 = (nShapeId < 0) ? psSHP->nRecords + 1 : nShapeId + 1; /* record # */ @@ -3513,6 +4637,13 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, int32 i32 = (nShapeId < 0) ? psSHP->nRecords + 1 : nShapeId + 1; /* record # */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + i32 = (nShapeId < 0) ? psSHP->nRecords + 1 : nShapeId + 1; /* record # */ +======= + int32 i32 = + (nShapeId < 0) ? psSHP->nRecords + 1 : nShapeId + 1; /* record # */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (!bBigEndian) SwapWord(4, &i32); ByteCopy(&i32, pabyRec, 4); @@ -3533,6 +4664,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) @@ -3569,6 +4701,8 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psSHP->sHooks.FSeek(psSHP->fpSHP, nRecordOffset, 0) != 0) { psSHP->sHooks.Error("Error in psSHP->sHooks.FSeek() while writing " "object to .shp file."); @@ -3579,10 +4713,33 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, psSHP->sHooks.Error("Error in psSHP->sHooks.Fwrite() while writing " "object to .shp file."); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + + /* -------------------------------------------------------------------- */ + /* Guard FSeek with check for whether we're already at position; */ + /* no-op FSeeks defeat network filesystems' write buffering. */ + /* -------------------------------------------------------------------- */ + if (psSHP->sHooks.FTell(psSHP->fpSHP) != nRecordOffset) { + if (psSHP->sHooks.FSeek(psSHP->fpSHP, nRecordOffset, 0) != 0) { + char szErrorMsg[200]; + + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Error in psSHP->sHooks.FSeek() while writing object to " + ".shp file: %s", + strerror(errno)); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; + psSHP->sHooks.Error(szErrorMsg); + + free(pabyRec); + return -1; + } +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } if (psSHP->sHooks.FWrite(pabyRec, nRecordSize, 1, psSHP->fpSHP) < 1) { char szErrorMsg[200]; @@ -3594,7 +4751,11 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) free(pabyRec); return -1; } @@ -3604,6 +4765,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) if (bAppendToLastRecord) { @@ -3619,6 +4781,15 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (bExtendFile) { +======= + if (bAppendToLastRecord) { + psSHP->nFileSize = psSHP->panRecOffset[nShapeId] + nRecordSize; + } + else if (bAppendToFile) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (nShapeId == -1) nShapeId = psSHP->nRecords++; @@ -3630,6 +4801,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Expand file wide bounds based on this shape. */ /* -------------------------------------------------------------------- */ @@ -3637,19 +4809,28 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Expand file wide bounds based on this shape. */ /* -------------------------------------------------------------------- */ if (psSHP->adBoundsMin[0] == 0.0 && psSHP->adBoundsMax[0] == 0.0 && psSHP->adBoundsMin[1] == 0.0 && psSHP->adBoundsMax[1] == 0.0) { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= /* Expand file wide bounds based on this shape. */ /* -------------------------------------------------------------------- */ if (bFirstFeature) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psObject->nSHPType == SHPT_NULL || psObject->nVertices == 0) { psSHP->adBoundsMin[0] = psSHP->adBoundsMax[0] = 0.0; psSHP->adBoundsMin[1] = psSHP->adBoundsMax[1] = 0.0; @@ -3668,6 +4849,7 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < psObject->nVertices; i++) { ======= @@ -3679,6 +4861,12 @@ int SHPAPI_CALL SHPWriteObject(SHPHandle psSHP, int nShapeId, ======= for (int i = 0; i < psObject->nVertices; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < psObject->nVertices; i++) { +======= + for (int i = 0; i < psObject->nVertices; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->adBoundsMin[0] = MIN(psSHP->adBoundsMin[0], psObject->padfX[i]); psSHP->adBoundsMin[1] = MIN(psSHP->adBoundsMin[1], psObject->padfY[i]); psSHP->adBoundsMax[0] = MAX(psSHP->adBoundsMax[0], psObject->padfX[i]); @@ -3708,6 +4896,7 @@ static void *SHPAllocBuffer(unsigned char **pBuffer, int nSize) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (pBuffer == SHPLIB_NULLPTR) return calloc(1, nSize); @@ -3716,6 +4905,8 @@ static void *SHPAllocBuffer(unsigned char **pBuffer, int nSize) if (pRet == SHPLIB_NULLPTR) return SHPLIB_NULLPTR; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) unsigned char *pRet; ======= @@ -3728,7 +4919,10 @@ static void *SHPAllocBuffer(unsigned char **pBuffer, int nSize) pRet = *pBuffer; if (pRet == NULL) return NULL; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if (pBuffer == SHPLIB_NULLPTR) return calloc(1, nSize); @@ -3736,7 +4930,11 @@ static void *SHPAllocBuffer(unsigned char **pBuffer, int nSize) unsigned char *pRet = *pBuffer; if (pRet == SHPLIB_NULLPTR) return SHPLIB_NULLPTR; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) (*pBuffer) += nSize; return pRet; @@ -3751,6 +4949,7 @@ static unsigned char *SHPReallocObjectBufIfNecessary(SHPHandle psSHP, { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (nObjectBufSize == 0) { nObjectBufSize = 4 * sizeof(double); @@ -3762,6 +4961,8 @@ static unsigned char *SHPReallocObjectBufIfNecessary(SHPHandle psSHP, realloc(psSHP->pabyObjectBuf, nObjectBufSize)); if (pBuffer != SHPLIB_NULLPTR) { ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) unsigned char *pBuffer; if (nObjectBufSize == 0) { @@ -3779,9 +4980,12 @@ static unsigned char *SHPReallocObjectBufIfNecessary(SHPHandle psSHP, (unsigned char *)realloc(psSHP->pabyObjectBuf, nObjectBufSize); if (pBuffer != NULL) { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if (nObjectBufSize == 0) { nObjectBufSize = 4 * sizeof(double); @@ -3792,7 +4996,11 @@ static unsigned char *SHPReallocObjectBufIfNecessary(SHPHandle psSHP, pBuffer = STATIC_CAST(unsigned char *, realloc(psSHP->pabyObjectBuf, nObjectBufSize)); if (pBuffer != SHPLIB_NULLPTR) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->pabyObjectBuf = pBuffer; psSHP->nObjectBufSize = nObjectBufSize; } @@ -3810,6 +5018,7 @@ static unsigned char *SHPReallocObjectBufIfNecessary(SHPHandle psSHP, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD /* Read the vertices, parts, and other non-attribute information */ /* for one shape. */ ======= @@ -3826,12 +5035,22 @@ static unsigned char *SHPReallocObjectBufIfNecessary(SHPHandle psSHP, /* Read the vertices, parts, and other non-attribute information */ /* for one shape. */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +/* Read the vertices, parts, and other non-attribute information */ +/* for one shape. */ + +======= +/* Read the vertices, parts, and other non-attribute information */ +/* for one shape. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /************************************************************************/ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* -------------------------------------------------------------------- */ /* Validate the record/entity number. */ @@ -3870,6 +5089,8 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int nEntitySize, nRequiredSize; SHPObject *psShape; char szErrorMsg[128]; @@ -3888,7 +5109,25 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) if (psSHP->panRecOffset[hEntity] == 0 && psSHP->fpSHX != NULL) { unsigned int nOffset, nLength; +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + /* -------------------------------------------------------------------- */ + /* Validate the record/entity number. */ + /* -------------------------------------------------------------------- */ + if (hEntity < 0 || hEntity >= psSHP->nRecords) + return SHPLIB_NULLPTR; + + /* -------------------------------------------------------------------- */ + /* Read offset/length from SHX loading if necessary. */ + /* -------------------------------------------------------------------- */ + if (psSHP->panRecOffset[hEntity] == 0 && psSHP->fpSHX != SHPLIB_NULLPTR) { + unsigned int nOffset; + unsigned int nLength; + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psSHP->sHooks.FSeek(psSHP->fpSHX, 100 + 8 * hEntity, 0) != 0 || psSHP->sHooks.FRead(&nOffset, 1, 4, psSHP->fpSHX) != 4 || psSHP->sHooks.FRead(&nLength, 1, 4, psSHP->fpSHX) != 4) { @@ -3896,6 +5135,10 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(str, sizeof(str), "Error in fseek()/fread() reading object from .shx file " "at offset %d", @@ -3921,13 +5164,27 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD return NULL; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + snprintf(str, sizeof(str), + "Error in fseek()/fread() reading object from .shx file " + "at offset %d", + 100 + 8 * hEntity); + str[sizeof(str) - 1] = '\0'; + + psSHP->sHooks.Error(str); + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } if (!bBigEndian) SwapWord(4, &nOffset); if (!bBigEndian) SwapWord(4, &nLength); +<<<<<<< HEAD <<<<<<< HEAD if (nOffset > STATIC_CAST(unsigned int, INT_MAX)) { char str[128]; @@ -3945,6 +5202,8 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) psSHP->sHooks.Error(str); return SHPLIB_NULLPTR; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (nOffset > (unsigned int)INT_MAX) { char str[128]; @@ -3961,6 +5220,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= return NULL; ======= +<<<<<<< HEAD return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) } @@ -3969,6 +5229,8 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) if (!bBigEndian) SwapWord(4, &nLength); +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (nOffset > STATIC_CAST(unsigned int, INT_MAX)) { char str[128]; snprintf(str, sizeof(str), "Invalid offset for entity %d", hEntity); @@ -3982,6 +5244,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) snprintf(str, sizeof(str), "Invalid length for entity %d", hEntity); str[sizeof(str) - 1] = '\0'; +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) psSHP->sHooks.Error(str); <<<<<<< HEAD @@ -3990,6 +5253,11 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psSHP->sHooks.Error(str); + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } psSHP->panRecOffset[hEntity] = nOffset * 2; @@ -4001,6 +5269,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) /* -------------------------------------------------------------------- */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD const int nEntitySize = psSHP->panRecSize[hEntity] + 8; if (nEntitySize > psSHP->nBufSize) { @@ -4016,14 +5285,24 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) nEntitySize = psSHP->panRecSize[hEntity] + 8; if (nEntitySize > psSHP->nBufSize) { uchar *pabyRecNew; int nNewBufSize = nEntitySize; +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + const int nEntitySize = psSHP->panRecSize[hEntity] + 8; + if (nEntitySize > psSHP->nBufSize) { + int nNewBufSize = nEntitySize; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (nNewBufSize < INT_MAX - nNewBufSize / 3) nNewBufSize += nNewBufSize / 3; else @@ -4034,6 +5313,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) /* and do not trust the file size in the header the first time we */ @@ -4079,6 +5359,8 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (nEntitySize >= 10 * 1024 * 1024 && (psSHP->panRecOffset[hEntity] >= psSHP->nFileSize || (unsigned int)nEntitySize > @@ -4123,22 +5405,65 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) snprintf(szError, sizeof(szError), <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + /* and do not trust the file size in the header the first time we */ + /* need to allocate more than 10 MB */ + if (nNewBufSize >= 10 * 1024 * 1024) { + if (psSHP->nBufSize < 10 * 1024 * 1024) { + SAOffset nFileSize; + psSHP->sHooks.FSeek(psSHP->fpSHP, 0, 2); + nFileSize = psSHP->sHooks.FTell(psSHP->fpSHP); + if (nFileSize >= UINT_MAX) + psSHP->nFileSize = UINT_MAX; + else + psSHP->nFileSize = STATIC_CAST(unsigned int, nFileSize); + } + + if (psSHP->panRecOffset[hEntity] >= psSHP->nFileSize || + /* We should normally use nEntitySize instead of*/ + /* psSHP->panRecSize[hEntity] in the below test, but because of + */ + /* the case of non conformant .shx files detailed a bit below, + */ + /* let be more tolerant */ + psSHP->panRecSize[hEntity] > + psSHP->nFileSize - psSHP->panRecOffset[hEntity]) { + char str[128]; + snprintf(str, sizeof(str), + "Error in fread() reading object of size %d at offset " + "%u from .shp file", + nEntitySize, psSHP->panRecOffset[hEntity]); + str[sizeof(str) - 1] = '\0'; + + psSHP->sHooks.Error(str); + return SHPLIB_NULLPTR; + } + } + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) uchar *pabyRecNew = STATIC_CAST(uchar *, SfRealloc(psSHP->pabyRec, nNewBufSize)); if (pabyRecNew == SHPLIB_NULLPTR) { char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Not enough memory to allocate requested memory " "(nNewBufSize=%d). " "Probably broken SHP file", nNewBufSize); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); @@ -4149,11 +5474,19 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) psSHP->sHooks.Error(szError); return NULL; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= + psSHP->sHooks.Error(szError); + return NULL; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; psSHP->sHooks.Error(szErrorMsg); return SHPLIB_NULLPTR; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* Only set new buffer size after successful alloc */ @@ -4164,6 +5497,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) /* In case we were not able to reallocate the buffer on a previous step */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (psSHP->pabyRec == SHPLIB_NULLPTR) { return SHPLIB_NULLPTR; @@ -4177,6 +5511,14 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) if (psSHP->pabyRec == SHPLIB_NULLPTR) { return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (psSHP->pabyRec == NULL) { + return NULL; +======= + if (psSHP->pabyRec == SHPLIB_NULLPTR) { + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* -------------------------------------------------------------------- */ @@ -4192,6 +5534,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -4200,6 +5543,11 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(str, sizeof(str), "Error in fseek() reading object from .shp file at offset %u", psSHP->panRecOffset[hEntity]); @@ -4208,6 +5556,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) psSHP->sHooks.Error(str); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return SHPLIB_NULLPTR; } @@ -4217,22 +5566,31 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return NULL; } nBytesRead = (int)psSHP->sHooks.FRead(psSHP->pabyRec, 1, nEntitySize, psSHP->fpSHP); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= return SHPLIB_NULLPTR; } const int nBytesRead = STATIC_CAST( int, psSHP->sHooks.FRead(psSHP->pabyRec, 1, nEntitySize, psSHP->fpSHP)); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Special case for a shapefile whose .shx content length field is not equal */ @@ -4250,6 +5608,10 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(&nSHPContentLength, psSHP->pabyRec + 4, 4); if (!bBigEndian) SwapWord(4, &(nSHPContentLength)); @@ -4286,10 +5648,29 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) psSHP->sHooks.Error(str); <<<<<<< HEAD return NULL; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + memcpy(&nSHPContentLength, psSHP->pabyRec + 4, 4); + if (!bBigEndian) + SwapWord(4, &(nSHPContentLength)); + if (nSHPContentLength < 0 || nSHPContentLength > INT_MAX / 2 - 4 || + 2 * nSHPContentLength + 8 != nBytesRead) { + char str[128]; + snprintf(str, sizeof(str), + "Sanity check failed when trying to recover from " + "inconsistent .shx/.shp with shape %d", + hEntity); + str[sizeof(str) - 1] = '\0'; + + psSHP->sHooks.Error(str); + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } else if (nBytesRead != nEntitySize) { @@ -4300,6 +5681,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) char str[128]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(str, sizeof(str), "Error in fread() reading object of size %d at offset %u from " @@ -4322,6 +5704,8 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) } int nSHPType; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(str, sizeof(str), "Error in fread() reading object of size %u at offset %u from " @@ -4339,13 +5723,39 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) psSHP->sHooks.Error(szErrorMsg); return NULL; } +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + snprintf(str, sizeof(str), + "Error in fread() reading object of size %d at offset %u from " + ".shp file", + nEntitySize, psSHP->panRecOffset[hEntity]); + str[sizeof(str) - 1] = '\0'; + + psSHP->sHooks.Error(str); + return SHPLIB_NULLPTR; + } + + if (8 + 4 > nEntitySize) { + char szErrorMsg[160]; + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Corrupted .shp file : shape %d : nEntitySize = %d", hEntity, + nEntitySize); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; + psSHP->sHooks.Error(szErrorMsg); + return SHPLIB_NULLPTR; + } + int nSHPType; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(&nSHPType, psSHP->pabyRec + 8, 4); if (bBigEndian) SwapWord(4, &(nSHPType)); /* -------------------------------------------------------------------- */ +<<<<<<< HEAD <<<<<<< HEAD /* Allocate and minimally initialize the object. */ /* -------------------------------------------------------------------- */ @@ -4391,12 +5801,22 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= SHPObject *psShape; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + /* Allocate and minimally initialize the object. */ + /* -------------------------------------------------------------------- */ +======= + /* Allocate and minimally initialize the object. */ + /* -------------------------------------------------------------------- */ + SHPObject *psShape; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psSHP->bFastModeReadObject) { if (psSHP->psCachedObject->bFastModeReadObject) { psSHP->sHooks.Error("Invalid read pattern in fast read mode. " "SHPDestroyObject() should be called."); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return SHPLIB_NULLPTR; ======= @@ -4407,12 +5827,19 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= return SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + return NULL; +======= + return SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } psShape = psSHP->psCachedObject; memset(psShape, 0, sizeof(SHPObject)); } <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD else { psShape = STATIC_CAST(SHPObject *, calloc(1, sizeof(SHPObject))); @@ -4424,11 +5851,19 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + else + psShape = (SHPObject *)calloc(1, sizeof(SHPObject)); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= else { psShape = STATIC_CAST(SHPObject *, calloc(1, sizeof(SHPObject))); } +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psShape->nShapeId = hEntity; psShape->nSHPType = nSHPType; psShape->bMeasureIsUsed = FALSE; @@ -4437,6 +5872,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) /* ==================================================================== */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Extract vertices for a Polygon or Arc. */ ======= @@ -4448,6 +5884,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= /* Extract vertices for a Polygon or Arc. */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + /* Extract vertices for a Polygon or Arc. */ +======= + /* Extract vertices for a Polygon or Arc. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* ==================================================================== */ if (psShape->nSHPType == SHPT_POLYGON || psShape->nSHPType == SHPT_ARC || psShape->nSHPType == SHPT_POLYGONZ || @@ -4456,6 +5898,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) psShape->nSHPType == SHPT_MULTIPATCH) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (40 + 8 + 4 > nEntitySize) { char szErrorMsg[160]; @@ -4479,6 +5922,8 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int32 nPoints, nParts; int i, nOffset; unsigned char *pBuffer = NULL; @@ -4488,10 +5933,21 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : nEntitySize = %d", hEntity, nEntitySize); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + if (40 + 8 + 4 > nEntitySize) { + char szErrorMsg[160]; + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Corrupted .shp file : shape %d : nEntitySize = %d", + hEntity, nEntitySize); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; @@ -4500,6 +5956,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Get the X/Y bounds. */ ======= @@ -4511,6 +5968,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= /* Get the X/Y bounds. */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + /* Get the X/Y bounds. */ +======= + /* Get the X/Y bounds. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ memcpy(&(psShape->dfXMin), psSHP->pabyRec + 8 + 4, 8); @@ -4535,6 +5998,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int32 nPoints; memcpy(&nPoints, psSHP->pabyRec + 40 + 8, 4); @@ -4545,11 +6009,18 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= memcpy(&nPoints, psSHP->pabyRec + 40 + 8, 4); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + memcpy(&nPoints, psSHP->pabyRec + 40 + 8, 4); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= int32 nPoints; memcpy(&nPoints, psSHP->pabyRec + 40 + 8, 4); int32 nParts; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(&nParts, psSHP->pabyRec + 36 + 8, 4); if (bBigEndian) @@ -4562,16 +6033,23 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) nPoints > 50 * 1000 * 1000 || nParts > 10 * 1000 * 1000) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char szErrorMsg[160]; ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + char szErrorMsg[160]; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d, nPoints=%u, nParts=%u.", hEntity, nPoints, nParts); <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; ======= @@ -4585,6 +6063,11 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) hEntity, nPoints, nParts); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; @@ -4594,6 +6077,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) /* we should not overflow here and after */ /* since 50 M * (16 + 8 + 8) = 1 600 MB */ <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int nRequiredSize = 44 + 8 + 4 * nParts + 16 * nPoints; ======= @@ -4605,6 +6089,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= int nRequiredSize = 44 + 8 + 4 * nParts + 16 * nPoints; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nRequiredSize = 44 + 8 + 4 * nParts + 16 * nPoints; +======= + int nRequiredSize = 44 + 8 + 4 * nParts + 16 * nPoints; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psShape->nSHPType == SHPT_POLYGONZ || psShape->nSHPType == SHPT_ARCZ || psShape->nSHPType == SHPT_MULTIPATCH) { @@ -4616,6 +6106,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) if (nRequiredSize > nEntitySize) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), @@ -4634,14 +6125,27 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d, nPoints=%d, nParts=%d, " "nEntitySize=%d.", hEntity, nPoints, nParts, nEntitySize); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + char szErrorMsg[160]; + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Corrupted .shp file : shape %d, nPoints=%u, nParts=%u, " + "nEntitySize=%d.", + hEntity, nPoints, nParts, nEntitySize); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; @@ -4649,6 +6153,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned char *pBuffer = SHPLIB_NULLPTR; unsigned char **ppBuffer = SHPLIB_NULLPTR; @@ -4663,13 +6168,21 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) if (psShape->bFastModeReadObject) { int nObjectBufSize = >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + if (psShape->bFastModeReadObject) { + int nObjectBufSize = +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= unsigned char *pBuffer = SHPLIB_NULLPTR; unsigned char **ppBuffer = SHPLIB_NULLPTR; if (psShape->bFastModeReadObject) { const int nObjectBufSize = +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) 4 * sizeof(double) * nPoints + 2 * sizeof(int) * nParts; pBuffer = SHPReallocObjectBufIfNecessary(psSHP, nObjectBufSize); ppBuffer = &pBuffer; @@ -4679,6 +6192,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) psShape->padfX = STATIC_CAST( @@ -4743,6 +6257,8 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) hEntity, nPoints, nParts); >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psShape->padfX = (double *)SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints); psShape->padfY = @@ -4766,11 +6282,44 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) "(nPoints=%d, nParts=%d) for shape %d. " "Probably broken SHP file", hEntity, nPoints, nParts); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= nPoints, nParts, hEntity); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + psShape->padfX = STATIC_CAST( + double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); + psShape->padfY = STATIC_CAST( + double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); + psShape->padfZ = STATIC_CAST( + double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); + psShape->padfM = STATIC_CAST( + double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); + + psShape->nParts = nParts; + psShape->panPartStart = + STATIC_CAST(int *, SHPAllocBuffer(ppBuffer, nParts * sizeof(int))); + psShape->panPartType = + STATIC_CAST(int *, SHPAllocBuffer(ppBuffer, nParts * sizeof(int))); + + if (psShape->padfX == SHPLIB_NULLPTR || + psShape->padfY == SHPLIB_NULLPTR || + psShape->padfZ == SHPLIB_NULLPTR || + psShape->padfM == SHPLIB_NULLPTR || + psShape->panPartStart == SHPLIB_NULLPTR || + psShape->panPartType == SHPLIB_NULLPTR) { + char szErrorMsg[160]; + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Not enough memory to allocate requested memory " + "(nPoints=%u, nParts=%u) for shape %d. " + "Probably broken SHP file", + nPoints, nParts, hEntity); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; @@ -4778,6 +6327,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; STATIC_CAST(int32, i) < nParts; i++) ======= @@ -4789,6 +6339,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= for (int i = 0; STATIC_CAST(int32, i) < nParts; i++) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; (int32)i < nParts; i++) +======= + for (int i = 0; STATIC_CAST(int32, i) < nParts; i++) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psShape->panPartType[i] = SHPP_RING; /* -------------------------------------------------------------------- @@ -4799,6 +6355,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) memcpy(psShape->panPartStart, psSHP->pabyRec + 44 + 8, 4 * nParts); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; STATIC_CAST(int32, i) < nParts; i++) { ======= @@ -4810,6 +6367,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= for (int i = 0; STATIC_CAST(int32, i) < nParts; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; (int32)i < nParts; i++) { +======= + for (int i = 0; STATIC_CAST(int32, i) < nParts; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (bBigEndian) SwapWord(4, psShape->panPartStart + i); @@ -4820,6 +6383,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) (psShape->panPartStart[i] > 0 && psShape->nVertices == 0)) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char szErrorMsg[160]; ======= @@ -4829,6 +6393,11 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= char szErrorMsg[160]; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + char szErrorMsg[160]; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : panPartStart[%d] = " "%d, nVertices = %d", @@ -4836,6 +6405,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) psShape->nVertices); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; ======= @@ -4845,6 +6415,11 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; @@ -4853,6 +6428,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) psShape->panPartStart[i] <= psShape->panPartStart[i - 1]) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char szErrorMsg[160]; ======= @@ -4862,6 +6438,11 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= char szErrorMsg[160]; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + char szErrorMsg[160]; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : panPartStart[%d] = " "%d, panPartStart[%d] = %d", @@ -4869,6 +6450,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) psShape->panPartStart[i - 1]); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; ======= @@ -4878,6 +6460,11 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; @@ -4886,6 +6473,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int nOffset = 44 + 8 + 4 * nParts; ======= @@ -4897,6 +6485,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= int nOffset = 44 + 8 + 4 * nParts; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nOffset = 44 + 8 + 4 * nParts; +======= + int nOffset = 44 + 8 + 4 * nParts; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ @@ -4907,6 +6501,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) memcpy(psShape->panPartType, psSHP->pabyRec + nOffset, 4 * nParts); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; STATIC_CAST(int32, i) < nParts; i++) { ======= @@ -4918,6 +6513,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= for (int i = 0; STATIC_CAST(int32, i) < nParts; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; (int32)i < nParts; i++) { +======= + for (int i = 0; STATIC_CAST(int32, i) < nParts; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (bBigEndian) SwapWord(4, psShape->panPartType + i); } @@ -4932,6 +6533,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { ======= @@ -4943,6 +6545,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; (int32)i < nPoints; i++) { +======= + for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(psShape->padfX + i, psSHP->pabyRec + nOffset + i * 16, 8); memcpy(psShape->padfY + i, psSHP->pabyRec + nOffset + i * 16 + 8, @@ -4974,6 +6582,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { ======= @@ -4985,6 +6594,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; (int32)i < nPoints; i++) { +======= + for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(psShape->padfZ + i, psSHP->pabyRec + nOffset + 16 + i * 8, 8); if (bBigEndian) @@ -4996,6 +6611,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) else if (psShape->bFastModeReadObject) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psShape->padfZ = SHPLIB_NULLPTR; ======= @@ -5006,6 +6622,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= psShape->padfZ = SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psShape->padfZ = NULL; +======= + psShape->padfZ = SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* -------------------------------------------------------------------- @@ -5018,6 +6640,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (nEntitySize >= STATIC_CAST(int, nOffset + 16 + 8 * nPoints)) { ======= @@ -5029,6 +6652,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= if (nEntitySize >= STATIC_CAST(int, nOffset + 16 + 8 * nPoints)) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (nEntitySize >= (int)(nOffset + 16 + 8 * nPoints)) { +======= + if (nEntitySize >= STATIC_CAST(int, nOffset + 16 + 8 * nPoints)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(&(psShape->dfMMin), psSHP->pabyRec + nOffset, 8); memcpy(&(psShape->dfMMax), psSHP->pabyRec + nOffset + 8, 8); @@ -5039,6 +6668,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { ======= @@ -5050,6 +6680,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; (int32)i < nPoints; i++) { +======= + for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(psShape->padfM + i, psSHP->pabyRec + nOffset + 16 + i * 8, 8); if (bBigEndian) @@ -5060,6 +6696,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) else if (psShape->bFastModeReadObject) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psShape->padfM = SHPLIB_NULLPTR; ======= @@ -5070,12 +6707,19 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= psShape->padfM = SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psShape->padfM = NULL; +======= + psShape->padfM = SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } /* ==================================================================== */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Extract vertices for a MultiPoint. */ ======= @@ -5087,12 +6731,19 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= /* Extract vertices for a MultiPoint. */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + /* Extract vertices for a MultiPoint. */ +======= + /* Extract vertices for a MultiPoint. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* ==================================================================== */ else if (psShape->nSHPType == SHPT_MULTIPOINT || psShape->nSHPType == SHPT_MULTIPOINTM || psShape->nSHPType == SHPT_MULTIPOINTZ) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (44 + 4 > nEntitySize) { char szErrorMsg[160]; @@ -5101,6 +6752,8 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) hEntity, nEntitySize); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int32 nPoints; int i, nOffset; unsigned char *pBuffer = NULL; @@ -5110,15 +6763,32 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : nEntitySize = %d", hEntity, nEntitySize); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + if (44 + 4 > nEntitySize) { + char szErrorMsg[160]; + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Corrupted .shp file : shape %d : nEntitySize = %d", + hEntity, nEntitySize); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } +<<<<<<< HEAD <<<<<<< HEAD int32 nPoints; ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + int32 nPoints; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(&nPoints, psSHP->pabyRec + 44, 4); ======= @@ -5150,6 +6820,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) if (/* nPoints < 0 || */ nPoints > 50 * 1000 * 1000) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), @@ -5173,11 +6844,24 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Corrupted .shp file : shape %d : nPoints = %d", hEntity, + nPoints); +======= + char szErrorMsg[160]; + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Corrupted .shp file : shape %d : nPoints = %u", hEntity, + nPoints); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; } +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD int nRequiredSize = 48 + nPoints * 16; @@ -5190,12 +6874,19 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= int nRequiredSize = 48 + nPoints * 16; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nRequiredSize = 48 + nPoints * 16; +======= + int nRequiredSize = 48 + nPoints * 16; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psShape->nSHPType == SHPT_MULTIPOINTZ) { nRequiredSize += 16 + nPoints * 8; } if (nRequiredSize > nEntitySize) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char szErrorMsg[160]; snprintf(szErrorMsg, sizeof(szErrorMsg), @@ -5214,14 +6905,27 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(szErrorMsg, sizeof(szErrorMsg), "Corrupted .shp file : shape %d : nPoints = %d, " "nEntitySize = %d", hEntity, nPoints, nEntitySize); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + char szErrorMsg[160]; + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Corrupted .shp file : shape %d : nPoints = %u, " + "nEntitySize = %d", + hEntity, nPoints, nEntitySize); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; @@ -5229,6 +6933,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned char *pBuffer = SHPLIB_NULLPTR; unsigned char **ppBuffer = SHPLIB_NULLPTR; @@ -5245,13 +6950,22 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) int nObjectBufSize = 4 * sizeof(double) * nPoints; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + if (psShape->bFastModeReadObject) { + int nObjectBufSize = 4 * sizeof(double) * nPoints; + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= unsigned char *pBuffer = SHPLIB_NULLPTR; unsigned char **ppBuffer = SHPLIB_NULLPTR; if (psShape->bFastModeReadObject) { const int nObjectBufSize = 4 * sizeof(double) * nPoints; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) pBuffer = SHPReallocObjectBufIfNecessary(psSHP, nObjectBufSize); ppBuffer = &pBuffer; } @@ -5261,6 +6975,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) psShape->padfX = STATIC_CAST( @@ -5309,6 +7024,8 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) hEntity, nPoints); >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psShape->padfX = (double *)SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints); psShape->padfY = @@ -5325,11 +7042,36 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) "(nPoints=%d) for shape %d. " "Probably broken SHP file", hEntity, nPoints); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= nPoints, hEntity); szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + psShape->padfX = STATIC_CAST( + double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); + psShape->padfY = STATIC_CAST( + double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); + psShape->padfZ = STATIC_CAST( + double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); + psShape->padfM = STATIC_CAST( + double *, SHPAllocBuffer(ppBuffer, sizeof(double) * nPoints)); + + if (psShape->padfX == SHPLIB_NULLPTR || + psShape->padfY == SHPLIB_NULLPTR || + psShape->padfZ == SHPLIB_NULLPTR || + psShape->padfM == SHPLIB_NULLPTR) { + char szErrorMsg[160]; + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Not enough memory to allocate requested memory " + "(nPoints=%u) for shape %d. " + "Probably broken SHP file", + nPoints, hEntity); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; @@ -5337,6 +7079,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { ======= @@ -5348,6 +7091,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; (int32)i < nPoints; i++) { +======= + for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(psShape->padfX + i, psSHP->pabyRec + 48 + 16 * i, 8); memcpy(psShape->padfY + i, psSHP->pabyRec + 48 + 16 * i + 8, 8); @@ -5359,6 +7108,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int nOffset = 48 + 16 * nPoints; @@ -5366,12 +7116,24 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) */ /* Get the X/Y bounds. */ ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) nOffset = 48 + 16 * nPoints; /* -------------------------------------------------------------------- */ /* Get the X/Y bounds. */ +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + int nOffset = 48 + 16 * nPoints; + + /* -------------------------------------------------------------------- + */ + /* Get the X/Y bounds. */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ memcpy(&(psShape->dfXMin), psSHP->pabyRec + 8 + 4, 8); @@ -5402,6 +7164,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) if (bBigEndian) SwapWord(8, &(psShape->dfZMax)); +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { ======= @@ -5452,6 +7215,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; (int32)i < nPoints; i++) { +======= + for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(psShape->padfZ + i, psSHP->pabyRec + nOffset + 16 + i * 8, 8); if (bBigEndian) @@ -5463,6 +7232,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) else if (psShape->bFastModeReadObject) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psShape->padfZ = SHPLIB_NULLPTR; ======= @@ -5473,6 +7243,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= psShape->padfZ = SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psShape->padfZ = NULL; +======= + psShape->padfZ = SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ @@ -5484,6 +7260,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (nEntitySize >= STATIC_CAST(int, nOffset + 16 + 8 * nPoints)) { ======= @@ -5495,6 +7272,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= if (nEntitySize >= STATIC_CAST(int, nOffset + 16 + 8 * nPoints)) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (nEntitySize >= (int)(nOffset + 16 + 8 * nPoints)) { +======= + if (nEntitySize >= STATIC_CAST(int, nOffset + 16 + 8 * nPoints)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(&(psShape->dfMMin), psSHP->pabyRec + nOffset, 8); memcpy(&(psShape->dfMMax), psSHP->pabyRec + nOffset + 8, 8); @@ -5505,6 +7288,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { ======= @@ -5516,6 +7300,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; (int32)i < nPoints; i++) { +======= + for (int i = 0; STATIC_CAST(int32, i) < nPoints; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) memcpy(psShape->padfM + i, psSHP->pabyRec + nOffset + 16 + i * 8, 8); if (bBigEndian) @@ -5526,6 +7316,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) else if (psShape->bFastModeReadObject) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD psShape->padfM = SHPLIB_NULLPTR; ======= @@ -5536,6 +7327,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= psShape->padfM = SHPLIB_NULLPTR; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + psShape->padfM = NULL; +======= + psShape->padfM = SHPLIB_NULLPTR; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* ==================================================================== */ @@ -5547,6 +7344,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -5555,6 +7353,12 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int nOffset; + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psShape->nVertices = 1; if (psShape->bFastModeReadObject) { psShape->padfX = &(psShape->dfXMin); @@ -5568,6 +7372,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) psShape->padfX = STATIC_CAST(double *, calloc(1, sizeof(double))); @@ -5578,16 +7383,27 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psShape->padfX = (double *)calloc(1, sizeof(double)); psShape->padfY = (double *)calloc(1, sizeof(double)); psShape->padfZ = (double *)calloc(1, sizeof(double)); psShape->padfM = (double *)calloc(1, sizeof(double)); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + psShape->padfX = STATIC_CAST(double *, calloc(1, sizeof(double))); + psShape->padfY = STATIC_CAST(double *, calloc(1, sizeof(double))); + psShape->padfZ = STATIC_CAST(double *, calloc(1, sizeof(double))); + psShape->padfM = STATIC_CAST(double *, calloc(1, sizeof(double))); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } if (20 + 8 + ((psShape->nSHPType == SHPT_POINTZ) ? 8 : 0) > @@ -5595,6 +7411,7 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) char szErrorMsg[160]; @@ -5615,6 +7432,18 @@ SHPObject SHPAPI_CALL1(*) SHPReadObject(SHPHandle psSHP, int hEntity) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Corrupted .shp file : shape %d : nEntitySize = %d", + hEntity, nEntitySize); +======= + char szErrorMsg[160]; + snprintf(szErrorMsg, sizeof(szErrorMsg), + "Corrupted .shp file : shape %d : nEntitySize = %d", + hEntity, nEntitySize); + szErrorMsg[sizeof(szErrorMsg) - 1] = '\0'; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psSHP->sHooks.Error(szErrorMsg); SHPDestroyObject(psShape); return SHPLIB_NULLPTR; @@ -5766,6 +7595,7 @@ void SHPAPI_CALL SHPDestroyObject(SHPObject *psShape) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (psShape == SHPLIB_NULLPTR) ======= @@ -5777,6 +7607,12 @@ void SHPAPI_CALL SHPDestroyObject(SHPObject *psShape) ======= if (psShape == SHPLIB_NULLPTR) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (psShape == NULL) +======= + if (psShape == SHPLIB_NULLPTR) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return; if (psShape->bFastModeReadObject) { @@ -5786,6 +7622,7 @@ void SHPAPI_CALL SHPDestroyObject(SHPObject *psShape) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (psShape->padfX != SHPLIB_NULLPTR) free(psShape->padfX); @@ -5920,6 +7757,8 @@ static int SHPRewindIsInnerRing(const SHPObject *psObject, int iOpRing, free(psShape); >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (psShape->padfX != NULL) free(psShape->padfX); if (psShape->padfY != NULL) @@ -5935,7 +7774,26 @@ static int SHPRewindIsInnerRing(const SHPObject *psObject, int iOpRing, free(psShape->panPartType); free(psShape); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + if (psShape->padfX != SHPLIB_NULLPTR) + free(psShape->padfX); + if (psShape->padfY != SHPLIB_NULLPTR) + free(psShape->padfY); + if (psShape->padfZ != SHPLIB_NULLPTR) + free(psShape->padfZ); + if (psShape->padfM != SHPLIB_NULLPTR) + free(psShape->padfM); + + if (psShape->panPartStart != SHPLIB_NULLPTR) + free(psShape->panPartStart); + if (psShape->panPartType != SHPLIB_NULLPTR) + free(psShape->panPartType); + + free(psShape); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -6033,6 +7891,10 @@ static int SHPRewindIsInnerRing(const SHPObject *psObject, int iOpRing, } } /* for iCheckRing */ return bInner; +<<<<<<< HEAD +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /************************************************************************/ @@ -6047,6 +7909,7 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= int iOpRing, bAltered = 0; @@ -6057,6 +7920,12 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int iOpRing, bAltered = 0; + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Do nothing if this is not a polygon object. */ /* -------------------------------------------------------------------- */ @@ -6072,6 +7941,7 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) /* Test if all points have the same Z value. */ @@ -6094,6 +7964,8 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) /* -------------------------------------------------------------------- */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Process each of the rings. */ /* -------------------------------------------------------------------- */ int bAltered = 0; @@ -6119,6 +7991,7 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) bPartSameZ = FALSE; break; } +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) } <<<<<<< HEAD @@ -6182,6 +8055,24 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + /* Test if all points have the same Z value. */ + /* -------------------------------------------------------------------- */ + int bSameZ = TRUE; + if (psObject->nSHPType == SHPT_POLYGONZ || + psObject->nSHPType == SHPT_POLYGONM) { + for (int iVert = 1; iVert < psObject->nVertices; ++iVert) { + if (psObject->padfZ[iVert] != psObject->padfZ[0]) { + bSameZ = FALSE; + break; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) + } + } + } + +<<<<<<< HEAD +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ /* Determine the current order of this ring so we will know if */ @@ -6196,13 +8087,26 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) nVertCount = psObject->panPartStart[iOpRing + 1] - psObject->panPartStart[iOpRing]; <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + /* -------------------------------------------------------------------- */ + /* Process each of the rings. */ + /* -------------------------------------------------------------------- */ + int bAltered = 0; + for (int iOpRing = 0; iOpRing < psObject->nParts; iOpRing++) { + const int nVertStart = psObject->panPartStart[iOpRing]; + const int nVertCount = SHPGetPartVertexCount(psObject, iOpRing); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (nVertCount < 2) continue; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD /* If a ring has a non-constant Z value, then consider it as an outer */ @@ -6265,6 +8169,8 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) } } ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) dfSum = psObject->padfX[nVertStart] * (psObject->padfY[nVertStart + 1] - psObject->padfY[nVertStart + nVertCount - 1]); @@ -6301,6 +8207,7 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) if ((dfSum < 0.0 && bInner) || (dfSum > 0.0 && !bInner)) { <<<<<<< HEAD int i; +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) dfSum += psObject->padfX[iVert] * @@ -6314,6 +8221,69 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) if ((dfSum < 0.0 && bInner) || (dfSum > 0.0 && !bInner)) { int i; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + /* If a ring has a non-constant Z value, then consider it as an outer */ + /* ring. */ + /* NOTE: this is a rough approximation. If we were smarter, */ + /* we would check that all points of the ring are coplanar, and compare + */ + /* that to other rings in the same (oblique) plane. */ + int bDoIsInnerRingTest = TRUE; + if (!bSameZ) { + int bPartSameZ = TRUE; + for (int iVert = nVertStart + 1; iVert < nVertStart + nVertCount; + ++iVert) { + if (psObject->padfZ[iVert] != psObject->padfZ[nVertStart]) { + bPartSameZ = FALSE; + break; + } + } + if (!bPartSameZ) + bDoIsInnerRingTest = FALSE; + } + + int bInner = FALSE; + if (bDoIsInnerRingTest) { + for (int iTolerance = 0; iTolerance < 2; iTolerance++) { + /* In a first attempt, use a relaxed criterion to decide if a + * point */ + /* is inside another ring. If all points of the current ring are + * in the */ + /* "grey" zone w.r.t that criterion, which seems really + * unlikely, */ + /* then use the strict criterion for another pass. */ + const double dfRelativeTolerance = (iTolerance == 0) ? 1e-9 : 0; + for (int iVert = nVertStart; + iVert + 1 < nVertStart + nVertCount; ++iVert) { + /* Use point in the middle of segment to avoid testing + * common points of rings. + */ + const double dfTestX = + (psObject->padfX[iVert] + psObject->padfX[iVert + 1]) / + 2; + const double dfTestY = + (psObject->padfY[iVert] + psObject->padfY[iVert + 1]) / + 2; + const double dfTestZ = + !bSameZ ? psObject->padfZ[nVertStart] : 0; + + bInner = SHPRewindIsInnerRing(psObject, iOpRing, dfTestX, + dfTestY, dfRelativeTolerance, + bSameZ, dfTestZ); + if (bInner >= 0) + break; + } + if (bInner >= 0) + break; + } + if (bInner < 0) { + /* Completely degenerate case. Do not bother touching order. */ + continue; + } + } +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* -------------------------------------------------------------------- */ @@ -6342,6 +8312,7 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) if ((dfSum < 0.0 && bInner) || (dfSum > 0.0 && !bInner)) { bAltered++; <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (int i = 0; i < nVertCount / 2; i++) { /* Swap X */ @@ -6349,12 +8320,15 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (i = 0; i < nVertCount / 2; i++) { double dfSaved; /* Swap X */ dfSaved = psObject->padfX[nVertStart + i]; <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -6364,6 +8338,13 @@ int SHPAPI_CALL SHPRewindObject(CPL_UNUSED SHPHandle hSHP, SHPObject *psObject) /* Swap X */ double dfSaved = psObject->padfX[nVertStart + i]; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + for (int i = 0; i < nVertCount / 2; i++) { + /* Swap X */ + double dfSaved = psObject->padfX[nVertStart + i]; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) psObject->padfX[nVertStart + i] = psObject->padfX[nVertStart + nVertCount - i - 1]; psObject->padfX[nVertStart + nVertCount - i - 1] = dfSaved; diff --git a/lib/gis/asprintf.c b/lib/gis/asprintf.c index 9dc2e98015e..2a95a306a45 100644 --- a/lib/gis/asprintf.c +++ b/lib/gis/asprintf.c @@ -115,6 +115,7 @@ int G_rasprintf(char **out, size_t *size, const char *fmt, ...) va_end(ap); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (count >= 0 && (size_t)count < osize) ======= @@ -126,6 +127,12 @@ int G_rasprintf(char **out, size_t *size, const char *fmt, ...) ======= if (count >= 0 && (size_t)count < osize) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (count >= 0 && count < osize) +======= + if (count >= 0 && (size_t)count < osize) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) break; if (count > -1) osize = count + 1; diff --git a/lib/gis/cmprbzip.c b/lib/gis/cmprbzip.c index cb7f6540a58..5e10ae87e47 100644 --- a/lib/gis/cmprbzip.c +++ b/lib/gis/cmprbzip.c @@ -212,6 +212,7 @@ int G_bz2_expand(unsigned char *src, int src_sz, unsigned char *dst, int dst_sz) * updated buffer size */ +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if (dst_sz < 0 || nbytes != (unsigned int)dst_sz) { @@ -224,6 +225,12 @@ int G_bz2_expand(unsigned char *src, int src_sz, unsigned char *dst, int dst_sz) ======= if (dst_sz < 0 || nbytes != (unsigned int)dst_sz) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (nbytes != dst_sz) { +======= + if (dst_sz < 0 || nbytes != (unsigned int)dst_sz) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* TODO: it is not an error if destination is larger than needed */ G_warning(_("Got uncompressed size %d, expected %d"), (int)nbytes, dst_sz); diff --git a/lib/gis/cmprzlib.c b/lib/gis/cmprzlib.c index 5f4e8f9009c..633f484db84 100644 --- a/lib/gis/cmprzlib.c +++ b/lib/gis/cmprzlib.c @@ -116,6 +116,7 @@ int G_zlib_compress(unsigned char *src, int src_sz, unsigned char *dst, buf = dst; buf_sz = G_zlib_compress_bound(src_sz); <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (dst_sz < 0 || buf_sz > (unsigned int)dst_sz) { ======= @@ -127,6 +128,12 @@ int G_zlib_compress(unsigned char *src, int src_sz, unsigned char *dst, ======= if (dst_sz < 0 || buf_sz > (unsigned int)dst_sz) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (buf_sz > dst_sz) { +======= + if (dst_sz < 0 || buf_sz > (unsigned int)dst_sz) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_warning( "G_zlib_compress(): programmer error, destination is too small"); if (NULL == @@ -156,6 +163,7 @@ int G_zlib_compress(unsigned char *src, int src_sz, unsigned char *dst, /* updated buf_sz is bytes of compressed data */ <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (src_sz < 0 || nbytes >= (unsigned int)src_sz) { ======= @@ -167,6 +175,12 @@ int G_zlib_compress(unsigned char *src, int src_sz, unsigned char *dst, ======= if (src_sz < 0 || nbytes >= (unsigned int)src_sz) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (nbytes >= src_sz) { +======= + if (src_sz < 0 || nbytes >= (unsigned int)src_sz) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* compression not possible */ if (buf != dst) G_free(buf); @@ -226,6 +240,7 @@ int G_zlib_expand(unsigned char *src, int src_sz, unsigned char *dst, * updated buffer size */ +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if (dst_sz < 0 || nbytes != (unsigned int)dst_sz) { @@ -238,6 +253,12 @@ int G_zlib_expand(unsigned char *src, int src_sz, unsigned char *dst, ======= if (dst_sz < 0 || nbytes != (unsigned int)dst_sz) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (nbytes != dst_sz) { +======= + if (dst_sz < 0 || nbytes != (unsigned int)dst_sz) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* TODO: it is not an error if destination is larger than needed */ G_warning(_("Got uncompressed size %d, expected %d"), (int)nbytes, dst_sz); diff --git a/lib/gis/copy_dir.c b/lib/gis/copy_dir.c index 7a9fb4e6fa7..9d57987ad4c 100644 --- a/lib/gis/copy_dir.c +++ b/lib/gis/copy_dir.c @@ -81,6 +81,7 @@ int G_recursive_copy(const char *src, const char *dst) int fd, fd2; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD ssize_t len, len2; ======= @@ -92,6 +93,12 @@ int G_recursive_copy(const char *src, const char *dst) ======= ssize_t len, len2; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + size_t len, len2; +======= + ssize_t len, len2; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (G_lstat(dst, &sb) == 0 && S_ISDIR(sb.st_mode)) { char path[GPATH_MAX]; diff --git a/lib/gis/get_window.c b/lib/gis/get_window.c index 829bce8c31e..2db5d3be035 100644 --- a/lib/gis/get_window.c +++ b/lib/gis/get_window.c @@ -143,6 +143,7 @@ void G_get_element_window(struct Cell_head *window, const char *element, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void G_unset_window(void) ======= ======= @@ -152,6 +153,12 @@ void G_unset_window() ======= void G_unset_window(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void G_unset_window() +======= +void G_unset_window(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { st->initialized = 0; G__.window_set = 0; diff --git a/lib/gis/ilist.c b/lib/gis/ilist.c index 1f2176122b6..c946275dd76 100644 --- a/lib/gis/ilist.c +++ b/lib/gis/ilist.c @@ -43,6 +43,7 @@ void G_free_ilist(struct ilist *list) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD struct ilist *G_new_ilist(void) ======= struct ilist *G_new_ilist() @@ -53,6 +54,12 @@ struct ilist *G_new_ilist() ======= struct ilist *G_new_ilist(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +struct ilist *G_new_ilist() +======= +struct ilist *G_new_ilist(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { struct ilist *l = G_malloc(sizeof(struct ilist)); diff --git a/lib/gis/list.c b/lib/gis/list.c index 3eb741e0feb..954f364ba1d 100644 --- a/lib/gis/list.c +++ b/lib/gis/list.c @@ -24,6 +24,7 @@ static int list_element(FILE *, const char *, const char *, const char *, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*)(const char *, const char *, char *)); ======= @@ -35,6 +36,12 @@ static int list_element(FILE *, const char *, const char *, const char *, ======= int (*)(const char *, const char *, char *)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*)(const char *, const char *, const char *)); +======= + int (*)(const char *, const char *, char *)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /*! \brief General purpose list function @@ -63,6 +70,7 @@ static int list_element(FILE *, const char *, const char *, const char *, void G_list_element(const char *element, const char *desc, const char *mapset, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*lister)(const char *, const char *, char *)) ======= @@ -74,6 +82,12 @@ void G_list_element(const char *element, const char *desc, const char *mapset, ======= int (*lister)(const char *, const char *, char *)) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*lister)(const char *, const char *, const char *)) +======= + int (*lister)(const char *, const char *, char *)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { struct Popen pager; int n; @@ -120,6 +134,7 @@ static int list_element(FILE *out, const char *element, const char *desc, const char *mapset, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*lister)(const char *, const char *, char *)) ======= @@ -131,6 +146,12 @@ static int list_element(FILE *out, const char *element, const char *desc, ======= int (*lister)(const char *, const char *, char *)) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*lister)(const char *, const char *, const char *)) +======= + int (*lister)(const char *, const char *, char *)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { char path[GPATH_MAX]; int count = 0; diff --git a/lib/gis/ls.c b/lib/gis/ls.c index 3561bf6e289..9c7073c2283 100644 --- a/lib/gis/ls.c +++ b/lib/gis/ls.c @@ -185,6 +185,7 @@ void G_ls_format(char **list, int num_items, int perline, FILE *stream) if (perline == 0) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned int max_len = 0; ======= @@ -196,6 +197,12 @@ void G_ls_format(char **list, int num_items, int perline, FILE *stream) ======= unsigned int max_len = 0; >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + int max_len = 0; +======= + unsigned int max_len = 0; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (i = 0; i < num_items; i++) { /* Find maximum filename length */ diff --git a/lib/gis/parser.c b/lib/gis/parser.c index be9e0832129..0b022712bcb 100644 --- a/lib/gis/parser.c +++ b/lib/gis/parser.c @@ -1091,6 +1091,7 @@ void G__print_keywords(FILE *fd, void (*format)(FILE *, const char *)) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD int G_get_overwrite(void) ======= ======= @@ -1100,6 +1101,12 @@ int G_get_overwrite() ======= int G_get_overwrite(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int G_get_overwrite() +======= +int G_get_overwrite(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return st->module_info.overwrite; } diff --git a/lib/gis/parser_dependencies.c b/lib/gis/parser_dependencies.c index 66badf13322..aa4184c66e4 100644 --- a/lib/gis/parser_dependencies.c +++ b/lib/gis/parser_dependencies.c @@ -568,6 +568,7 @@ void G__describe_option_rules_xml(FILE *fp) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (rule->count < 0) G_fatal_error(_("Internal error: the number of options is < 0")); @@ -582,13 +583,21 @@ void G__describe_option_rules_xml(FILE *fp) fprintf(fp, "\t\t\n", rule_types[rule->type]); for (j = 0; j < rule->count; j++) { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + fprintf(fp, "\t\t\n", rule_types[rule->type]); + for (j = 0; j < rule->count; j++) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if (rule->count < 0) G_fatal_error(_("Internal error: the number of options is < 0")); fprintf(fp, "\t\t\n", rule_types[rule->type]); for (j = 0; j < (unsigned int)rule->count; j++) { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void *p = rule->opts[j]; if (is_flag(p)) { diff --git a/lib/gis/parser_interface.c b/lib/gis/parser_interface.c index eeea2c0968f..8eb8417860b 100644 --- a/lib/gis/parser_interface.c +++ b/lib/gis/parser_interface.c @@ -89,6 +89,7 @@ static void print_escaped_for_xml(FILE *fp, const char *str) #ifdef HAVE_ICONV_H <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (enc) { G_freea(enc); @@ -100,11 +101,19 @@ static void print_escaped_for_xml(FILE *fp, const char *str) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + if (enc) + G_freea(enc); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if (enc) { G_freea(enc); } +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (conv != (iconv_t)-1) iconv_close(conv); diff --git a/lib/gis/parser_wps.c b/lib/gis/parser_wps.c index a309c2e7955..ba7da49a6ff 100644 --- a/lib/gis/parser_wps.c +++ b/lib/gis/parser_wps.c @@ -276,16 +276,24 @@ void G__wps_print_process_description(void) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (is_input == 1) num_vector_inputs++; if (is_output == 1) num_vector_outputs++; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* Modules may have different types of space time datasets * as inputs */ @@ -304,16 +312,24 @@ void G__wps_print_process_description(void) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (is_input == 1) num_stvds_inputs++; if (is_output == 1) num_stvds_outputs++; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } if (strcmp(token, "file") == 0) { data_type = TYPE_PLAIN_TEXT; diff --git a/lib/gis/proj3.c b/lib/gis/proj3.c index 20cb83439cd..1343083cd04 100644 --- a/lib/gis/proj3.c +++ b/lib/gis/proj3.c @@ -66,6 +66,7 @@ const char *G_database_unit_name(int plural) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD int G_database_unit(void) ======= ======= @@ -75,6 +76,12 @@ int G_database_unit() ======= int G_database_unit(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int G_database_unit() +======= +int G_database_unit(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { int units; const char *name; diff --git a/lib/gis/snprintf.c b/lib/gis/snprintf.c index e914e01ee1a..807603c6c0d 100644 --- a/lib/gis/snprintf.c +++ b/lib/gis/snprintf.c @@ -50,6 +50,7 @@ int G_snprintf(char *str, size_t size, const char *fmt, ...) /* Windows' vsnprintf() doesn't always NUL-terminate the buffer */ <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (count >= 0 && (unsigned int)count == size) ======= @@ -61,6 +62,12 @@ int G_snprintf(char *str, size_t size, const char *fmt, ...) ======= if (count >= 0 && (unsigned int)count == size) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (count == size) +======= + if (count >= 0 && (unsigned int)count == size) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) str[--count] = '\0'; return count; diff --git a/lib/gis/spawn.c b/lib/gis/spawn.c index 9c691014c0b..bb67e1be073 100644 --- a/lib/gis/spawn.c +++ b/lib/gis/spawn.c @@ -927,6 +927,7 @@ int G_spawn(const char *command, ...) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (;;) { ======= @@ -938,6 +939,12 @@ int G_spawn(const char *command, ...) ======= for (;;) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0;; i++) { +======= + for (;;) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) const char *arg = va_arg(va, const char *); args[num_args++] = arg; diff --git a/lib/gis/user_config.c b/lib/gis/user_config.c index b246eb1c536..776ae66bfa4 100644 --- a/lib/gis/user_config.c +++ b/lib/gis/user_config.c @@ -164,6 +164,7 @@ static int _elem_count_split(char *elems) begin = elems; <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (i = 0; begin != NULL && (ptrdiff_t)len > begin - elems; i++) { ======= @@ -175,6 +176,12 @@ static int _elem_count_split(char *elems) ======= for (i = 0; begin != NULL && (ptrdiff_t)len > begin - elems; i++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (i = 0; begin != NULL && len > begin - elems; i++) { +======= + for (i = 0; begin != NULL && (ptrdiff_t)len > begin - elems; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* check '.' condition */ if (*begin == '.') return 0; diff --git a/lib/gmath/blas_level_1.c b/lib/gmath/blas_level_1.c index dc561f70c53..8923ba4220b 100644 --- a/lib/gmath/blas_level_1.c +++ b/lib/gmath/blas_level_1.c @@ -334,14 +334,18 @@ void G_math_f_asum_norm(float *x, float *value, int rows) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD #pragma omp parallel for schedule(static) private(i) reduction(+ : s) for (i = 0; i < rows; i++) { s += fabs(x[i]); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #pragma omp parallel for schedule(static) private(i) reduction(+ : s, count) for (i = 0; i < rows; i++) { s += fabs(x[i]); count++; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= #pragma omp parallel for schedule(static) private(i) reduction(+ : s, count) @@ -350,10 +354,16 @@ void G_math_f_asum_norm(float *x, float *value, int rows) count++; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= #pragma omp parallel for schedule(static) private(i) reduction(+ : s) for (i = 0; i < rows; i++) { s += fabs(x[i]); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } #pragma omp single { diff --git a/lib/gmath/brent.c b/lib/gmath/brent.c index 8fe0c04a129..582dbbdeb74 100644 --- a/lib/gmath/brent.c +++ b/lib/gmath/brent.c @@ -47,6 +47,7 @@ typedef struct { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static int brent(void *vstate, double (*f)(double), double *x_minimum, ======= static int brent(void *vstate, double (*f)(), double *x_minimum, @@ -57,6 +58,12 @@ static int brent(void *vstate, double (*f)(), double *x_minimum, ======= static int brent(void *vstate, double (*f)(double), double *x_minimum, >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int brent(void *vstate, double (*f)(), double *x_minimum, +======= +static int brent(void *vstate, double (*f)(double), double *x_minimum, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) double *f_minimum, double *x_lower, double *f_lower, double *x_upper, double *f_upper) { @@ -185,6 +192,7 @@ static int brent(void *vstate, double (*f)(double), double *x_minimum, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD double brent_iterate(double (*f)(double), double x_lower, double x_upper, int maxiter) ======= @@ -197,6 +205,13 @@ double brent_iterate(double (*f)(), double x_lower, double x_upper, int maxiter) double brent_iterate(double (*f)(double), double x_lower, double x_upper, int maxiter) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +double brent_iterate(double (*f)(), double x_lower, double x_upper, int maxiter) +======= +double brent_iterate(double (*f)(double), double x_lower, double x_upper, + int maxiter) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { int i; double x_minimum = (x_upper + x_lower) / 2.; diff --git a/lib/gmath/la.c b/lib/gmath/la.c index fa7addc784b..ac2a5880634 100644 --- a/lib/gmath/la.c +++ b/lib/gmath/la.c @@ -1307,6 +1307,7 @@ double G_vector_norm1(vec_struct *vc) G_warning(_("Matrix is not initialised")); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return NAN; ======= @@ -1318,6 +1319,12 @@ double G_vector_norm1(vec_struct *vc) ======= return NAN; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + return 0.0 / 0.0; /* NaN */ +======= + return NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } idx = (vc->v_indx > 0) ? vc->v_indx : 0; diff --git a/lib/gmath/solvers_classic_iter.c b/lib/gmath/solvers_classic_iter.c index 3e667e39287..c55379fbafa 100644 --- a/lib/gmath/solvers_classic_iter.c +++ b/lib/gmath/solvers_classic_iter.c @@ -66,6 +66,7 @@ int G_math_solver_sparse_jacobi(G_math_spvector **Asp, double *x, double *b, if (k == 0) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (j = 0; j < (unsigned int)rows; j++) { Enew[j] = x[j]; @@ -75,22 +76,31 @@ int G_math_solver_sparse_jacobi(G_math_spvector **Asp, double *x, double *b, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (j = 0; j < rows; j++) { Enew[j] = x[j]; } } for (i = 0; i < rows; i++) { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= for (j = 0; j < (unsigned int)rows; j++) { Enew[j] = x[j]; } } for (i = 0; i < (unsigned int)rows; i++) { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) E = 0; center = 0; for (j = 0; j < Asp[i]->cols; j++) { @@ -102,6 +112,7 @@ int G_math_solver_sparse_jacobi(G_math_spvector **Asp, double *x, double *b, } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (j = 0; j < (unsigned int)rows; j++) { ======= @@ -113,6 +124,12 @@ int G_math_solver_sparse_jacobi(G_math_spvector **Asp, double *x, double *b, ======= for (j = 0; j < (unsigned int)rows; j++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (j = 0; j < rows; j++) { +======= + for (j = 0; j < (unsigned int)rows; j++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) err += (x[j] - Enew[j]) * (x[j] - Enew[j]); x[j] = Enew[j]; @@ -176,6 +193,7 @@ int G_math_solver_sparse_gs(G_math_spvector **Asp, double *x, double *b, if (k == 0) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (j = 0; j < (unsigned int)rows; j++) { Enew[j] = x[j]; @@ -185,22 +203,31 @@ int G_math_solver_sparse_gs(G_math_spvector **Asp, double *x, double *b, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (j = 0; j < rows; j++) { Enew[j] = x[j]; } } for (i = 0; i < rows; i++) { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= for (j = 0; j < (unsigned int)rows; j++) { Enew[j] = x[j]; } } for (i = 0; i < (unsigned int)rows; i++) { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) E = 0; center = 0; for (j = 0; j < Asp[i]->cols; j++) { @@ -212,6 +239,7 @@ int G_math_solver_sparse_gs(G_math_spvector **Asp, double *x, double *b, } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (j = 0; j < (unsigned int)rows; j++) { ======= @@ -223,6 +251,12 @@ int G_math_solver_sparse_gs(G_math_spvector **Asp, double *x, double *b, ======= for (j = 0; j < (unsigned int)rows; j++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (j = 0; j < rows; j++) { +======= + for (j = 0; j < (unsigned int)rows; j++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) err += (x[j] - Enew[j]) * (x[j] - Enew[j]); x[j] = Enew[j]; diff --git a/lib/gmath/solvers_krylov.c b/lib/gmath/solvers_krylov.c index 8f432372829..c3e7ccf1766 100644 --- a/lib/gmath/solvers_krylov.c +++ b/lib/gmath/solvers_krylov.c @@ -777,6 +777,7 @@ G_math_spvector **create_diag_precond_matrix(double **A, G_math_spvector **Asp, shared(A, Msp, rows, cols, prec) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (unsigned int)rows; i++) { ======= @@ -788,6 +789,12 @@ G_math_spvector **create_diag_precond_matrix(double **A, G_math_spvector **Asp, ======= for (i = 0; i < (unsigned int)rows; i++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (i = 0; i < rows; i++) { +======= + for (i = 0; i < (unsigned int)rows; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_math_spvector *spvect = G_math_alloc_spvector(1); switch (prec) { @@ -820,6 +827,7 @@ G_math_spvector **create_diag_precond_matrix(double **A, G_math_spvector **Asp, shared(Asp, Msp, rows, cols, prec) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (unsigned int)rows; i++) { ======= @@ -831,6 +839,12 @@ G_math_spvector **create_diag_precond_matrix(double **A, G_math_spvector **Asp, ======= for (i = 0; i < (unsigned int)rows; i++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (i = 0; i < rows; i++) { +======= + for (i = 0; i < (unsigned int)rows; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_math_spvector *spvect = G_math_alloc_spvector(1); switch (prec) { diff --git a/lib/gmath/sparse_matrix.c b/lib/gmath/sparse_matrix.c index 0fdc2460ec1..ee22ffbdf53 100644 --- a/lib/gmath/sparse_matrix.c +++ b/lib/gmath/sparse_matrix.c @@ -163,6 +163,7 @@ void G_math_print_spmatrix(G_math_spvector **Asp, int rows) for (k = 0; k < Asp[i]->cols; k++) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (Asp[i]->index[k] == (unsigned int)j) { ======= @@ -174,6 +175,12 @@ void G_math_print_spmatrix(G_math_spvector **Asp, int rows) ======= if (Asp[i]->index[k] == (unsigned int)j) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (Asp[i]->index[k] == j) { +======= + if (Asp[i]->index[k] == (unsigned int)j) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) fprintf(stdout, "%4.5f ", Asp[i]->values[k]); out = 1; } @@ -252,6 +259,7 @@ double **G_math_Asp_to_sband_matrix(G_math_spvector **Asp, int rows, A = G_alloc_matrix(rows, bandwidth); +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (unsigned int)rows; i++) { @@ -264,6 +272,12 @@ double **G_math_Asp_to_sband_matrix(G_math_spvector **Asp, int rows, ======= for (i = 0; i < (unsigned int)rows; i++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (i = 0; i < rows; i++) { +======= + for (i = 0; i < (unsigned int)rows; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (j = 0; j < Asp[i]->cols; j++) { if (Asp[i]->index[j] == i) { A[i][0] = Asp[i]->values[j]; diff --git a/lib/gpde/N_pde.h b/lib/gpde/N_pde.h index d45c957e91b..4ab8c7c0ab2 100644 --- a/lib/gpde/N_pde.h +++ b/lib/gpde/N_pde.h @@ -309,6 +309,7 @@ typedef struct { typedef struct { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD N_data_star *(*callback)(void *, N_geom_data *, int, int, int); ======= @@ -320,6 +321,12 @@ typedef struct { ======= N_data_star *(*callback)(void *, N_geom_data *, int, int, int); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + N_data_star *(*callback)(); +======= + N_data_star *(*callback)(void *, N_geom_data *, int, int, int); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } N_les_callback_3d; /*! @@ -328,6 +335,7 @@ typedef struct { typedef struct { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD N_data_star *(*callback)(void *, N_geom_data *, int, int); } N_les_callback_2d; @@ -339,6 +347,8 @@ extern void N_set_les_callback_2d_func( N_les_callback_2d *data, N_data_star *(*callback_func_2d)(void *, N_geom_data *, int, int)); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) N_data_star *(*callback)(); } N_les_callback_2d; @@ -352,9 +362,12 @@ extern void N_set_les_callback_3d_func(N_les_callback_3d *data, extern void N_set_les_callback_2d_func(N_les_callback_2d *data, N_data_star *(*callback_func_2d)()); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= N_data_star *(*callback)(void *, N_geom_data *, int, int); } N_les_callback_2d; @@ -365,7 +378,11 @@ extern void N_set_les_callback_3d_func( extern void N_set_les_callback_2d_func( N_les_callback_2d *data, N_data_star *(*callback_func_2d)(void *, N_geom_data *, int, int)); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) extern N_les_callback_3d *N_alloc_les_callback_3d(void); extern N_les_callback_2d *N_alloc_les_callback_2d(void); extern N_data_star *N_alloc_5star(void); diff --git a/lib/gpde/gpdelib.dox b/lib/gpde/gpdelib.dox index 0d499874f23..7eb062856a1 100644 --- a/lib/gpde/gpdelib.dox +++ b/lib/gpde/gpdelib.dox @@ -636,7 +636,10 @@ The gradient of one cell to there neighbours in each direction has the following The two dimensional gradient consists of 4 values between the neighbour cells ======= The two dimensional gradient consits of 4 values between the neighbour cells +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ______________ | | | | | | | | diff --git a/lib/gpde/n_les.c b/lib/gpde/n_les.c index 139f973c846..1de86470a6f 100644 --- a/lib/gpde/n_les.c +++ b/lib/gpde/n_les.c @@ -264,6 +264,7 @@ void N_print_les(N_les *les) out = 0; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (k = 0; (unsigned int)k < les->Asp[i]->cols; k++) { if (les->Asp[i]->index[k] == (unsigned int)j) { @@ -279,6 +280,14 @@ void N_print_les(N_les *les) for (k = 0; (unsigned int)k < les->Asp[i]->cols; k++) { if (les->Asp[i]->index[k] == (unsigned int)j) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (k = 0; k < les->Asp[i]->cols; k++) { + if (les->Asp[i]->index[k] == j) { +======= + for (k = 0; (unsigned int)k < les->Asp[i]->cols; k++) { + if (les->Asp[i]->index[k] == (unsigned int)j) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) fprintf(stdout, "%4.5f ", les->Asp[i]->values[k]); out = 1; } diff --git a/lib/gpde/n_les_assemble.c b/lib/gpde/n_les_assemble.c index ed55290ef97..6169e3a4ce4 100644 --- a/lib/gpde/n_les_assemble.c +++ b/lib/gpde/n_les_assemble.c @@ -341,6 +341,7 @@ N_data_star *N_create_27star(double C, double W, double E, double N, double S, void N_set_les_callback_3d_func(N_les_callback_3d *data, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD N_data_star *(*callback_func_3d)(void *, N_geom_data *, @@ -351,11 +352,18 @@ void N_set_les_callback_3d_func(N_les_callback_3d *data, ======= N_data_star *(*callback_func_3d)()) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + N_data_star *(*callback_func_3d)()) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= N_data_star *(*callback_func_3d)(void *, N_geom_data *, int, int, int)) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { data->callback = callback_func_3d; } @@ -374,6 +382,7 @@ void N_set_les_callback_3d_func(N_les_callback_3d *data, void N_set_les_callback_2d_func(N_les_callback_2d *data, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD N_data_star *(*callback_func_2d)(void *, N_geom_data *, @@ -384,11 +393,18 @@ void N_set_les_callback_2d_func(N_les_callback_2d *data, ======= N_data_star *(*callback_func_2d)()) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + N_data_star *(*callback_func_2d)()) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= N_data_star *(*callback_func_2d)(void *, N_geom_data *, int, int)) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { data->callback = callback_func_2d; } @@ -896,6 +912,7 @@ int N_les_integrate_dirichlet_2d(N_les *les, N_geom_data *geom, /*set the rows to zero */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (i = 0; (unsigned int)i < les->Asp[count]->cols; i++) les->Asp[count]->values[i] = 0.0; @@ -906,6 +923,8 @@ int N_les_integrate_dirichlet_2d(N_les *les, N_geom_data *geom, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (i = 0; i < les->Asp[count]->cols; i++) les->Asp[count]->values[i] = 0.0; /*set the cols to zero */ @@ -913,9 +932,12 @@ int N_les_integrate_dirichlet_2d(N_les *les, N_geom_data *geom, for (j = 0; j < les->Asp[i]->cols; j++) { if (les->Asp[i]->index[j] == count) <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= for (i = 0; (unsigned int)i < les->Asp[count]->cols; i++) les->Asp[count]->values[i] = 0.0; @@ -923,7 +945,11 @@ int N_les_integrate_dirichlet_2d(N_les *les, N_geom_data *geom, for (i = 0; i < les->rows; i++) { for (j = 0; (unsigned int)j < les->Asp[i]->cols; j++) { if (les->Asp[i]->index[j] == (unsigned int)count) +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) les->Asp[i]->values[j] = 0.0; } } @@ -1381,6 +1407,7 @@ int N_les_integrate_dirichlet_3d(N_les *les, N_geom_data *geom, /*set the rows to zero */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (i = 0; (unsigned int)i < les->Asp[count]->cols; i++) @@ -1394,6 +1421,8 @@ int N_les_integrate_dirichlet_3d(N_les *les, N_geom_data *geom, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (i = 0; i < les->Asp[count]->cols; i++) les->Asp[count]->values[i] = 0.0; /*set the cols to zero */ @@ -1401,9 +1430,12 @@ int N_les_integrate_dirichlet_3d(N_les *les, N_geom_data *geom, for (j = 0; j < les->Asp[i]->cols; j++) { if (les->Asp[i]->index[j] == count) <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= for (i = 0; (unsigned int)i < les->Asp[count]->cols; i++) @@ -1414,7 +1446,11 @@ int N_les_integrate_dirichlet_3d(N_les *les, N_geom_data *geom, j++) { if (les->Asp[i]->index[j] == (unsigned int)count) +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) les->Asp[i]->values[j] = 0.0; } } diff --git a/lib/htmldriver/README b/lib/htmldriver/README index 7aa3ad107a6..fa072112257 100644 --- a/lib/htmldriver/README +++ b/lib/htmldriver/README @@ -75,11 +75,15 @@ that exists in a vector file will have the same HREF tag. export GRASS_RENDER_HTMLMAXPOINTS GRASS_RENDER_HTMLMAXPOINTS=xx +<<<<<<< HEAD <<<<<<< HEAD specifies the maximum number of vertices that a polygon can ======= specifies the maxiumum number of vertices that a polygon can >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + specifies the maxiumum number of vertices that a polygon can +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) have. The default is 99. Some browser can only handle image map polygons of less that 100 vertices. diff --git a/lib/imagery/iscatt_core.c b/lib/imagery/iscatt_core.c index 3ab17403f95..0d98b5e2694 100644 --- a/lib/imagery/iscatt_core.c +++ b/lib/imagery/iscatt_core.c @@ -520,6 +520,7 @@ static int compute_scatts_from_chunk_row(struct scCats *scatt_conds, } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (n_pixs != (row_size) / (int)sizeof(unsigned char)) { ======= @@ -531,6 +532,12 @@ static int compute_scatts_from_chunk_row(struct scCats *scatt_conds, ======= if (n_pixs != (row_size) / (int)sizeof(unsigned char)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (n_pixs != (row_size) / sizeof(unsigned char)) { +======= + if (n_pixs != (row_size) / (int)sizeof(unsigned char)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_free(rast_pixs); G_free(belongs_pix); G_warning( diff --git a/lib/imagery/sig.c b/lib/imagery/sig.c index d8adfcf0a35..bbf86eb54d2 100644 --- a/lib/imagery/sig.c +++ b/lib/imagery/sig.c @@ -775,9 +775,16 @@ char **I_sort_signatures_by_semantic_label(struct Signature *S, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) for (unsigned int i = 0; i < (unsigned int)S->nbands; i++) { +======= + for (unsigned int i = 0; i < S->nbands; i++) { +======= + for (unsigned int i = 0; i < (unsigned int)S->nbands; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (!match1[i]) { if (S->semantic_labels[i]) total = total + strlen(S->semantic_labels[i]); @@ -842,9 +849,16 @@ char **I_sort_signatures_by_semantic_label(struct Signature *S, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) for (unsigned int j = 0; j < (unsigned int)R->nfiles; j++) { +======= + for (unsigned int j = 0; j < R->nfiles; j++) { +======= + for (unsigned int j = 0; j < (unsigned int)R->nfiles; j++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (!match2[j]) { if (group_semantic_labels[j]) total = total + strlen(group_semantic_labels[j]); @@ -912,9 +926,16 @@ char **I_sort_signatures_by_semantic_label(struct Signature *S, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) for (unsigned int b1 = 0; b1 < (unsigned int)S->nbands; b1++) { +======= + for (unsigned int b1 = 0; b1 < S->nbands; b1++) { +======= + for (unsigned int b1 = 0; b1 < (unsigned int)S->nbands; b1++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) new_means[c][new_order[b1]] = S->sig[c].mean[b1]; for (unsigned int b2 = 0; b2 <= b1; b2++) { if (new_order[b1] > new_order[b2]) { diff --git a/lib/imagery/sigset.c b/lib/imagery/sigset.c index 757cd91544d..4b12480aa05 100644 --- a/lib/imagery/sigset.c +++ b/lib/imagery/sigset.c @@ -943,9 +943,16 @@ char **I_SortSigSetBySemanticLabel(struct SigSet *S, const struct Ref *R) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) for (unsigned int i = 0; i < (unsigned int)S->nbands; i++) { +======= + for (unsigned int i = 0; i < S->nbands; i++) { +======= + for (unsigned int i = 0; i < (unsigned int)S->nbands; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (!match1[i]) { if (S->semantic_labels[i]) total = total + strlen(S->semantic_labels[i]); @@ -1010,9 +1017,16 @@ char **I_SortSigSetBySemanticLabel(struct SigSet *S, const struct Ref *R) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) for (unsigned int j = 0; j < (unsigned int)R->nfiles; j++) { +======= + for (unsigned int j = 0; j < R->nfiles; j++) { +======= + for (unsigned int j = 0; j < (unsigned int)R->nfiles; j++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (!match2[j]) { if (group_semantic_labels[j]) total = total + strlen(group_semantic_labels[j]); @@ -1080,6 +1094,7 @@ char **I_SortSigSetBySemanticLabel(struct SigSet *S, const struct Ref *R) for (unsigned int s = S->ClassSig[c].nsubclasses; s--;) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (unsigned int b1 = 0; b1 < (unsigned int)S->nbands; b1++) { new_means[c][s][new_order[b1]] = @@ -1091,22 +1106,31 @@ char **I_SortSigSetBySemanticLabel(struct SigSet *S, const struct Ref *R) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (unsigned int b1 = 0; b1 < S->nbands; b1++) { new_means[c][s][new_order[b1]] = S->ClassSig[c].SubSig[s].means[b1]; for (unsigned int b2 = 0; b2 < S->nbands; b2++) { <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD new_vars[c][s][new_order[b1]][new_order[b2]] = S->ClassSig[c].SubSig[s].R[b1][b2]; >>>>>>> 268d757b7d (ci: Ignore paths in CodeQL (#1778)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= for (unsigned int b1 = 0; b1 < (unsigned int)S->nbands; b1++) { new_means[c][s][new_order[b1]] = S->ClassSig[c].SubSig[s].means[b1]; for (unsigned int b2 = 0; b2 < (unsigned int)S->nbands; b2++) { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) new_vars[c][s][new_order[b1]][new_order[b2]] = S->ClassSig[c].SubSig[s].R[b1][b2]; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) diff --git a/lib/init/grass.html b/lib/init/grass.html index a1ecd43bcbe..2affcdd276c 100644 --- a/lib/init/grass.html +++ b/lib/init/grass.html @@ -766,6 +766,7 @@

    Troubleshooting

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Importantly, to avoid an "[Errno 8] Exec format error" there must be a shebang line at the top of the script (like #!/bin/sh, #!/bin/bash, or #!/usr/bin/env python3) @@ -790,6 +791,13 @@

    Troubleshooting

    indicating which interpreter to be used for the script. The script file must have its executable bit set. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Importantly, to avoid an "[Errno 8] Exec format error" there must be a +shebang line at the top of +the script (like #!/bin/sh, #!/bin/bash, or #!/usr/bin/env python3) +indicating which interpreter to be used for the script. The script file must +have its executable bit set. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    CAVEAT

    diff --git a/lib/init/variables.html b/lib/init/variables.html index b14adbaa113..c10ef9736f1 100644 --- a/lib/init/variables.html +++ b/lib/init/variables.html @@ -102,6 +102,7 @@

    List of selected (GRASS related) shell environment variables

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -111,6 +112,9 @@

    List of selected (GRASS related) shell environment variables

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
    GRASS_ADDON_ETC
    [libgis, g.findetc]
    specify paths where support files (etc/) may be found external to @@ -133,12 +137,15 @@

    List of selected (GRASS related) shell environment variables

    environment variable GRASS_COMPRESSOR. Supported methods are RLE, ZLIB, LZ4, BZIP2, and ZSTD. The default is ZSTD if available, otherwise ZLIB, which can be changed with e.g. +<<<<<<< HEAD <<<<<<< HEAD GRASS_COMPRESSOR=ZSTD, granted that GRASS has been compiled with the requested compressor. Compressors that are always available are RLE, ZLIB, and LZ4. The compressors BZIP2 and ZSTD must be enabled when configuring GRASS for compilation.
    ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) GRASS_COMPRESSOR=ZSTD, granted that GRASS has been compiled with the requested compressor. Compressors that are always available are RLE, ZLIB, and LZ4. The compressors BZIP2 and ZSTD @@ -563,7 +570,10 @@

    List of selected GRASS gisenv variables

    LOCATION_NAME
    initial location name
    +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
    MAPSET
    initial mapset
    @@ -593,6 +603,13 @@

    List of selected GRASS gisenv variables

    ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +
    NPROCS
    +
    sets the number of threads for parallel computing +
    +# set to use 12 threads (default: 1)
    +g.gisenv set="NPROCS=12"
    +
    +
    OVERWRITE
    [all modules]
    toggles map overwrite. @@ -621,6 +638,7 @@

    GRASS-related Files

    stores the shell environment variables (MS Windows only)
    <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= @@ -631,6 +649,9 @@

    GRASS-related Files

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
    $HOME/.grass8/login
    stores the DBMI passwords in this hidden file. Only the file owner can access this file.
    diff --git a/lib/iostream/ami_stream.cpp b/lib/iostream/ami_stream.cpp index 5f95c2ed2e8..82e511dbb7b 100644 --- a/lib/iostream/ami_stream.cpp +++ b/lib/iostream/ami_stream.cpp @@ -83,6 +83,7 @@ int ami_single_temp_name(const std::string &base, char *tmp_path) } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(tmp_path, GPATH_MAX, "%s/%s_XXXXXX", base_dir, base.c_str()); ======= @@ -94,6 +95,12 @@ int ami_single_temp_name(const std::string &base, char *tmp_path) ======= snprintf(tmp_path, GPATH_MAX, "%s/%s_XXXXXX", base_dir, base.c_str()); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(tmp_path, "%s/%s_XXXXXX", base_dir, base.c_str()); +======= + snprintf(tmp_path, GPATH_MAX, "%s/%s_XXXXXX", base_dir, base.c_str()); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) fd = G_mkstemp(tmp_path, O_RDWR, 0600); diff --git a/lib/iostream/rtimer.cpp b/lib/iostream/rtimer.cpp index 574947b4189..41107a22faf 100644 --- a/lib/iostream/rtimer.cpp +++ b/lib/iostream/rtimer.cpp @@ -41,6 +41,10 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= +// #include +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #include #define BUFMAX 256 @@ -92,10 +96,25 @@ char *rt_sprint_safe(char *buf, Rtimer rt) 100.0 * (rt_u_useconds(rt) + rt_s_useconds(rt)) / rt_w_useconds(rt)); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= +#include + +#define BUFMAX 256 + +char *rt_sprint_safe(char *buf, Rtimer rt) +{ + if (rt_w_useconds(rt) == 0) { + snprintf(buf, BUFMAX, "[%4.2fu (%.0f%%) %4.2fs (%.0f%%) %4.2f %.1f%%]", + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); + } + else { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) snprintf(buf, BUFMAX, "[%4.2fu (%.0f%%) %4.2fs (%.0f%%) %4.2f %.1f%%]", rt_u_useconds(rt) / 1000000, 100.0 * rt_u_useconds(rt) / rt_w_useconds(rt), @@ -104,7 +123,11 @@ char *rt_sprint_safe(char *buf, Rtimer rt) rt_w_useconds(rt) / 1000000, 100.0 * (rt_u_useconds(rt) + rt_s_useconds(rt)) / rt_w_useconds(rt)); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } return buf; } diff --git a/lib/lidar/zones.c b/lib/lidar/zones.c index 9c6cd9c074a..46a69baaae6 100644 --- a/lib/lidar/zones.c +++ b/lib/lidar/zones.c @@ -582,11 +582,18 @@ void P_Aux_to_Vector(struct Map_info *Map, struct Map_info *Out, dbDriver *driver, char *tab_name) { +<<<<<<< HEAD int more, type, count = 0; +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= int more, type; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + int more, type; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) double coordX, coordY, coordZ; struct line_pnts *point; @@ -615,6 +622,7 @@ void P_Aux_to_Vector(struct Map_info *Map, struct Map_info *Out, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= count++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -623,6 +631,11 @@ void P_Aux_to_Vector(struct Map_info *Map, struct Map_info *Out, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + count++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) table = db_get_cursor_table(&cursor); column = db_get_table_column(table, 0); diff --git a/lib/manage/do_list.c b/lib/manage/do_list.c index c7acdb2894f..98e137a9242 100644 --- a/lib/manage/do_list.c +++ b/lib/manage/do_list.c @@ -34,6 +34,7 @@ void M_do_list(int n, const char *mapset) for (i = 0; i < nlist; i++) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD G_list_element(list[i].element[0], list[i].desc[0], mapset, NULL); } @@ -41,6 +42,8 @@ void M_do_list(int n, const char *mapset) else { G_list_element(list[n].element[0], list[n].desc[0], mapset, NULL); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_list_element(list[i].element[0], list[i].desc[0], mapset, (int (*)())0); } @@ -48,6 +51,7 @@ void M_do_list(int n, const char *mapset) else { G_list_element(list[n].element[0], list[n].desc[0], mapset, (int (*)())0); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= G_list_element(list[i].element[0], list[i].desc[0], mapset, @@ -58,12 +62,18 @@ void M_do_list(int n, const char *mapset) G_list_element(list[n].element[0], list[n].desc[0], mapset, (int (*)())0); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= G_list_element(list[i].element[0], list[i].desc[0], mapset, NULL); } } else { G_list_element(list[n].element[0], list[n].desc[0], mapset, NULL); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } diff --git a/lib/manage/sighold.c b/lib/manage/sighold.c index 1552ce4ee6a..e71d42cdf7d 100644 --- a/lib/manage/sighold.c +++ b/lib/manage/sighold.c @@ -25,6 +25,7 @@ int M__hold_signals(int hold) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD void (*sig)(int) = hold ? SIG_IGN : SIG_DFL; ======= @@ -36,6 +37,12 @@ int M__hold_signals(int hold) ======= void (*sig)(int) = hold ? SIG_IGN : SIG_DFL; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + void (*sig)() = hold ? SIG_IGN : SIG_DFL; +======= + void (*sig)(int) = hold ? SIG_IGN : SIG_DFL; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) signal(SIGINT, sig); diff --git a/lib/ogsf/TODO b/lib/ogsf/TODO index 0f177aab0d2..8ac5460316f 100644 --- a/lib/ogsf/TODO +++ b/lib/ogsf/TODO @@ -28,10 +28,14 @@ Helena wrote: You are right that there is a problem with normals for surfaces with values <0-1>- I have already reported it, it seems that it is also causing parts of <<<<<<< HEAD +<<<<<<< HEAD the surface to disappear for larger values of z for higher resolution/higher ======= the surface to disapear for larger values of z for higher resolution/higher >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +the surface to disapear for larger values of z for higher resolution/higher +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) zscale case. Bill fixed it for the SGI-GL version - if the GL version is available it would be good to compare them. I will check with Bill, but I would like him to finish the legends first. diff --git a/lib/ogsf/gs2.c b/lib/ogsf/gs2.c index 724f5cf31f7..614e273c2aa 100644 --- a/lib/ogsf/gs2.c +++ b/lib/ogsf/gs2.c @@ -3283,6 +3283,7 @@ int GS_get_distance_alongsurf(int hs, float x1, float y1, float x2, float y2, { geosurf *gs; <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD Point3 p1, p2; ======= @@ -3294,6 +3295,12 @@ int GS_get_distance_alongsurf(int hs, float x1, float y1, float x2, float y2, ======= Point3 p1, p2; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + float p1[2], p2[2]; +======= + Point3 p1, p2; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) gs = gs_get_surf(hs); if (gs == NULL) { diff --git a/lib/ogsf/gsd_fringe.c b/lib/ogsf/gsd_fringe.c index 0236df17632..2974080d094 100644 --- a/lib/ogsf/gsd_fringe.c +++ b/lib/ogsf/gsd_fringe.c @@ -538,6 +538,7 @@ void gsd_fringe_horiz_line2(float bot, geosurf *surf, int row, int side) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= cnt++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -546,6 +547,11 @@ void gsd_fringe_horiz_line2(float bot, geosurf *surf, int row, int side) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + cnt++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } col--; diff --git a/lib/ogsf/gsd_surf.c b/lib/ogsf/gsd_surf.c index a17119b217c..a204d28d839 100644 --- a/lib/ogsf/gsd_surf.c +++ b/lib/ogsf/gsd_surf.c @@ -1090,6 +1090,7 @@ int gsd_surf_const(geosurf *surf, float k) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD int gsd_surf_func(geosurf *gs UNUSED, int (*user_func)(void) UNUSED) ======= int gsd_surf_func(geosurf *gs, int (*user_func)()) @@ -1100,6 +1101,12 @@ int gsd_surf_func(geosurf *gs, int (*user_func)()) ======= int gsd_surf_func(geosurf *gs, int (*user_func)(void)) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int gsd_surf_func(geosurf *gs, int (*user_func)()) +======= +int gsd_surf_func(geosurf *gs, int (*user_func)(void)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return (1); @@ -2276,6 +2283,7 @@ int gsd_surf_map(geosurf *surf) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Do not need BM_get because GET_MAPATT calls * same and returns zero if masked @@ -2366,6 +2374,8 @@ int gsd_surf_map(geosurf *surf) } ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) cnt1++; /* Do not need BM_get because GET_MAPATT calls @@ -2456,6 +2466,7 @@ int gsd_surf_map(geosurf *surf) } } +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) gsd_litvert_func(n, ktrans | curcolor, pt); @@ -2470,6 +2481,9 @@ int gsd_surf_map(geosurf *surf) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Do not need BM_get because GET_MAPATT calls * same and returns zero if masked */ @@ -2558,15 +2572,24 @@ int gsd_surf_map(geosurf *surf) } } +<<<<<<< HEAD +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) gsd_litvert_func(n, ktrans | curcolor, pt); } /* close ii loop */ gsd_endtfan(); <<<<<<< HEAD cnt2++; +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* end col */ } /* end row */ diff --git a/lib/ogsf/gsd_wire.c b/lib/ogsf/gsd_wire.c index e0009467a18..fc6909052b4 100644 --- a/lib/ogsf/gsd_wire.c +++ b/lib/ogsf/gsd_wire.c @@ -442,6 +442,7 @@ int gsd_wire_surf_const(geosurf *surf, float k) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD int gsd_wire_surf_func(geosurf *gs UNUSED, int (*user_func)(void) UNUSED) ======= int gsd_wire_surf_func(geosurf *gs, int (*user_func)()) @@ -452,6 +453,12 @@ int gsd_wire_surf_func(geosurf *gs, int (*user_func)()) ======= int gsd_wire_surf_func(geosurf *gs, int (*user_func)(void)) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int gsd_wire_surf_func(geosurf *gs, int (*user_func)()) +======= +int gsd_wire_surf_func(geosurf *gs, int (*user_func)(void)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return (1); } diff --git a/lib/ogsf/gsx.c b/lib/ogsf/gsx.c index e5b5fcb35ae..1ada5c3c69c 100644 --- a/lib/ogsf/gsx.c +++ b/lib/ogsf/gsx.c @@ -21,6 +21,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void (*Cxl_func)(void); ======= void (*Cxl_func)(); @@ -31,6 +32,12 @@ void (*Cxl_func)(); ======= void (*Cxl_func)(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void (*Cxl_func)(); +======= +void (*Cxl_func)(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static int Cxl = 0; diff --git a/lib/pngdriver/draw_bitmap.c b/lib/pngdriver/draw_bitmap.c index c9302a5f8b0..f4b72fbc870 100644 --- a/lib/pngdriver/draw_bitmap.c +++ b/lib/pngdriver/draw_bitmap.c @@ -51,6 +51,7 @@ void PNG_draw_bitmap(int ncols, int nrows, int threshold, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (k > (unsigned int)threshold) ======= @@ -62,6 +63,12 @@ void PNG_draw_bitmap(int ncols, int nrows, int threshold, ======= if (k > (unsigned int)threshold) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (k > threshold) +======= + if (k > (unsigned int)threshold) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) *p = png.current_color; } } diff --git a/lib/pngdriver/read_bmp.c b/lib/pngdriver/read_bmp.c index 05f37260f2a..fe987f81524 100644 --- a/lib/pngdriver/read_bmp.c +++ b/lib/pngdriver/read_bmp.c @@ -43,6 +43,7 @@ static int read_bmp_header(const unsigned char *p) if (*p++ != 'M') return 0; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if (get_4(&p) != (unsigned int)HEADER_SIZE + png.width * png.height * 4) @@ -55,6 +56,12 @@ static int read_bmp_header(const unsigned char *p) ======= if (get_4(&p) != (unsigned int)HEADER_SIZE + png.width * png.height * 4) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (get_4(&p) != HEADER_SIZE + png.width * png.height * 4) +======= + if (get_4(&p) != (unsigned int)HEADER_SIZE + png.width * png.height * 4) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; get_4(&p); @@ -65,6 +72,7 @@ static int read_bmp_header(const unsigned char *p) if (get_4(&p) != 40) return 0; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if (get_4(&p) != (unsigned int)png.width) @@ -78,11 +86,20 @@ static int read_bmp_header(const unsigned char *p) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + if (get_4(&p) != png.width) + return 0; + if (get_4(&p) != -png.height) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if (get_4(&p) != (unsigned int)png.width) return 0; if (get_4(&p) != (unsigned int)-png.height) +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; get_2(&p); @@ -93,6 +110,7 @@ static int read_bmp_header(const unsigned char *p) return 0; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (get_4(&p) != (unsigned int)png.width * png.height * 4) ======= @@ -104,6 +122,12 @@ static int read_bmp_header(const unsigned char *p) ======= if (get_4(&p) != (unsigned int)png.width * png.height * 4) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (get_4(&p) != png.width * png.height * 4) +======= + if (get_4(&p) != (unsigned int)png.width * png.height * 4) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; get_4(&p); diff --git a/lib/proj/datum.c b/lib/proj/datum.c index 7a030f59ee8..cb59a2b3841 100644 --- a/lib/proj/datum.c +++ b/lib/proj/datum.c @@ -383,6 +383,7 @@ struct datum_list *read_datum_table(void) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= count++; @@ -393,6 +394,12 @@ struct datum_list *read_datum_table(void) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + + count++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } fclose(fd); diff --git a/lib/proj/ellipse.c b/lib/proj/ellipse.c index 9a630c3739b..193ee11ebb2 100644 --- a/lib/proj/ellipse.c +++ b/lib/proj/ellipse.c @@ -274,6 +274,7 @@ struct ellps_list *read_ellipsoid_table(int fatal) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= count++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -282,6 +283,11 @@ struct ellps_list *read_ellipsoid_table(int fatal) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + count++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } else { err++; diff --git a/lib/proj/get_proj.c b/lib/proj/get_proj.c index af85b61a73c..e45fa5e352e 100644 --- a/lib/proj/get_proj.c +++ b/lib/proj/get_proj.c @@ -277,8 +277,12 @@ int pj_get_kv(struct pj_info *info, const struct Key_Value *in_proj_keys, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #if PROJ_VERSION_MAJOR >= 6 if (proj_get_type(pj) == PJ_TYPE_BOUND_CRS) { @@ -290,12 +294,16 @@ int pj_get_kv(struct pj_info *info, const struct Key_Value *in_proj_keys, } #endif <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif info->pj = pj; diff --git a/lib/psdriver/draw_bitmap.c b/lib/psdriver/draw_bitmap.c index d1e40af4003..67489d64a8c 100644 --- a/lib/psdriver/draw_bitmap.c +++ b/lib/psdriver/draw_bitmap.c @@ -15,6 +15,7 @@ void PS_Bitmap(int ncols, int nrows, int threshold, const unsigned char *buf) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (k > (unsigned int)threshold) ======= @@ -26,6 +27,12 @@ void PS_Bitmap(int ncols, int nrows, int threshold, const unsigned char *buf) ======= if (k > (unsigned int)threshold) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (k > threshold) +======= + if (k > (unsigned int)threshold) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) acc |= bit; bit >>= 1; diff --git a/lib/raster/format.c b/lib/raster/format.c index 2db676c6e6c..aca7a1be142 100644 --- a/lib/raster/format.c +++ b/lib/raster/format.c @@ -109,6 +109,7 @@ static int read_row_ptrs(int nrows, int old, off_t *row_ptr, int fd) if (old) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD n = ((unsigned int)nrows + 1) * sizeof(off_t); ======= @@ -120,6 +121,12 @@ static int read_row_ptrs(int nrows, int old, off_t *row_ptr, int fd) ======= n = ((unsigned int)nrows + 1) * sizeof(off_t); >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + n = (nrows + 1) * sizeof(off_t); +======= + n = ((unsigned int)nrows + 1) * sizeof(off_t); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (read(fd, row_ptr, n) != n) goto badread; return 1; @@ -142,6 +149,7 @@ static int read_row_ptrs(int nrows, int old, off_t *row_ptr, int fd) if (read(fd, buf, n) != n) goto badread; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD for (row = 0, b = buf; row <= (unsigned int)nrows; row++) { @@ -149,20 +157,29 @@ static int read_row_ptrs(int nrows, int old, off_t *row_ptr, int fd) for (n = 0; n < nbytes; n++) { ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (row = 0, b = buf; row <= nrows; row++) { off_t v = 0; for (n = 0; n < (int)nbytes; n++) { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= for (row = 0, b = buf; row <= (unsigned int)nrows; row++) { off_t v = 0; for (n = 0; n < nbytes; n++) { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) unsigned char c = *b++; if (nbytes > sizeof(off_t) && n < nbytes - sizeof(off_t) && c != 0) diff --git a/lib/raster/get_row.c b/lib/raster/get_row.c index 094f538f3e3..315b0787568 100644 --- a/lib/raster/get_row.c +++ b/lib/raster/get_row.c @@ -163,10 +163,15 @@ static void read_data_compressed(int fd, int row, unsigned char *data_buf, /* pre 3.0 compression */ n = *nbytes = fcb->nbytes; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD bufsize = (size_t)n * fcb->cellhd.cols; if (fcb->cellhd.compressed < 0 || (size_t)readamount < bufsize) { +======= + bufsize = n * fcb->cellhd.cols; + if (fcb->cellhd.compressed < 0 || readamount < bufsize) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (fcb->cellhd.compressed == 1) rle_decompress(data_buf, cmp, n, readamount); else { @@ -176,6 +181,7 @@ static void read_data_compressed(int fd, int row, unsigned char *data_buf, G_fatal_error( _("Error uncompressing raster data for row %d of <%s>"), row, fcb->name); +<<<<<<< HEAD } ======= bufsize = n * fcb->cellhd.cols; @@ -184,6 +190,11 @@ static void read_data_compressed(int fd, int row, unsigned char *data_buf, bufsize = (size_t)n * fcb->cellhd.cols; if (fcb->cellhd.compressed < 0 || (size_t)readamount < bufsize) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= + bufsize = (size_t)n * fcb->cellhd.cols; + if (fcb->cellhd.compressed < 0 || (size_t)readamount < bufsize) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (fcb->cellhd.compressed == 1) rle_decompress(data_buf, cmp, n, readamount); else { @@ -195,12 +206,17 @@ static void read_data_compressed(int fd, int row, unsigned char *data_buf, row, fcb->name); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= } >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + } +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } else @@ -395,6 +411,7 @@ static void cell_values_double(int fd, const unsigned char *data, static void gdal_values_int(int fd, const unsigned char *data, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD const COLUMN_MAPPING *cmap, int nbytes, void *cell, ======= @@ -406,6 +423,12 @@ static void gdal_values_int(int fd, const unsigned char *data, ======= const COLUMN_MAPPING *cmap, int nbytes, void *cell, >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + const COLUMN_MAPPING *cmap, int nbytes, CELL *cell, +======= + const COLUMN_MAPPING *cmap, int nbytes, void *cell, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int n) { struct fileinfo *fcb = &R__.fileinfo[fd]; @@ -418,6 +441,7 @@ static void gdal_values_int(int fd, const unsigned char *data, if (!cmap[i]) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD c[i] = 0; ======= @@ -429,12 +453,19 @@ static void gdal_values_int(int fd, const unsigned char *data, ======= c[i] = 0; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + cell[i] = 0; +======= + c[i] = 0; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) continue; } if (cmap[i] == cmapold) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD c[i] = c[i - 1]; ======= @@ -446,6 +477,12 @@ static void gdal_values_int(int fd, const unsigned char *data, ======= c[i] = c[i - 1]; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + cell[i] = cell[i - 1]; +======= + c[i] = c[i - 1]; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) continue; } @@ -455,8 +492,12 @@ static void gdal_values_int(int fd, const unsigned char *data, case GDT_Byte: <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD c[i] = *(GByte *)d; +======= + cell[i] = *(GByte *)d; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) break; case GDT_Int16: c[i] = *(GInt16 *)d; @@ -498,12 +539,34 @@ static void gdal_values_int(int fd, const unsigned char *data, <<<<<<< HEAD Rast_set_c_null_value(&cell[i], 1); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= Rast_set_c_null_value(&c[i], 1); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + c[i] = *(GByte *)d; + break; + case GDT_Int16: + c[i] = *(GInt16 *)d; + break; + case GDT_UInt16: + c[i] = *(GUInt16 *)d; + break; + case GDT_Int32: + c[i] = *(GInt32 *)d; + break; + case GDT_UInt32: + c[i] = *(GUInt32 *)d; + break; + default: + /* shouldn't happen */ + Rast_set_c_null_value(&c[i], 1); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) break; } @@ -511,6 +574,7 @@ static void gdal_values_int(int fd, const unsigned char *data, } } +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD static void gdal_values_float(int fd UNUSED, const unsigned char *data, @@ -525,10 +589,19 @@ static void gdal_values_float(int fd, const float *data, ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +static void gdal_values_float(int fd, const float *data, + const COLUMN_MAPPING *cmap, int nbytes, + FCELL *cell, int n) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= static void gdal_values_float(int fd, const unsigned char *data, const COLUMN_MAPPING *cmap, int nbytes, void *cell, int n) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { COLUMN_MAPPING cmapold = 0; const float *d = (const float *)data; @@ -539,6 +612,7 @@ static void gdal_values_float(int fd, const unsigned char *data, if (!cmap[i]) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD c[i] = 0; ======= @@ -550,12 +624,19 @@ static void gdal_values_float(int fd, const unsigned char *data, ======= c[i] = 0; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + cell[i] = 0; +======= + c[i] = 0; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) continue; } if (cmap[i] == cmapold) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD c[i] = c[i - 1]; continue; @@ -563,12 +644,24 @@ static void gdal_values_float(int fd, const unsigned char *data, c[i] = d[cmap[i] - 1]; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) cell[i] = cell[i - 1]; continue; } cell[i] = data[cmap[i] - 1]; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + c[i] = c[i - 1]; + continue; + } + + c[i] = d[cmap[i] - 1]; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= cell[i] = cell[i - 1]; @@ -585,6 +678,7 @@ static void gdal_values_float(int fd, const unsigned char *data, } } +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD static void gdal_values_double(int fd UNUSED, const unsigned char *data, @@ -599,10 +693,19 @@ static void gdal_values_double(int fd, const double *data, ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +static void gdal_values_double(int fd, const double *data, + const COLUMN_MAPPING *cmap, int nbytes, + DCELL *cell, int n) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= static void gdal_values_double(int fd, const unsigned char *data, const COLUMN_MAPPING *cmap, int nbytes, void *cell, int n) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { COLUMN_MAPPING cmapold = 0; const double *d = (const double *)data; @@ -613,6 +716,7 @@ static void gdal_values_double(int fd, const unsigned char *data, if (!cmap[i]) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD c[i] = 0; ======= @@ -624,12 +728,19 @@ static void gdal_values_double(int fd, const unsigned char *data, ======= c[i] = 0; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + cell[i] = 0; +======= + c[i] = 0; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) continue; } if (cmap[i] == cmapold) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD c[i] = c[i - 1]; continue; @@ -637,12 +748,24 @@ static void gdal_values_double(int fd, const unsigned char *data, c[i] = d[cmap[i] - 1]; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) cell[i] = cell[i - 1]; continue; } cell[i] = data[cmap[i] - 1]; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + c[i] = c[i - 1]; + continue; + } + + c[i] = d[cmap[i] - 1]; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= cell[i] = cell[i - 1]; @@ -673,6 +796,7 @@ static void transfer_to_cell_XX(int fd, void *cell) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD static void (*cell_values_type[3])( int, const unsigned char *, const COLUMN_MAPPING *, int, void *, @@ -682,11 +806,14 @@ static void transfer_to_cell_XX(int fd, void *cell) int, const unsigned char *, const COLUMN_MAPPING *, int, void *, int) = {gdal_values_int, gdal_values_float, gdal_values_double}; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static void (*cell_values_type[3])() = {cell_values_int, cell_values_float, cell_values_double}; #ifdef HAVE_GDAL static void (*gdal_values_type[3])() = {gdal_values_int, gdal_values_float, gdal_values_double}; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= static void (*cell_values_type[3])() = {cell_values_int, cell_values_float, @@ -695,6 +822,8 @@ static void transfer_to_cell_XX(int fd, void *cell) static void (*gdal_values_type[3])() = {gdal_values_int, gdal_values_float, gdal_values_double}; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= static void (*cell_values_type[3])( int, const unsigned char *, const COLUMN_MAPPING *, int, void *, @@ -703,7 +832,11 @@ static void transfer_to_cell_XX(int fd, void *cell) static void (*gdal_values_type[3])( int, const unsigned char *, const COLUMN_MAPPING *, int, void *, int) = {gdal_values_int, gdal_values_float, gdal_values_double}; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif struct fileinfo *fcb = &R__.fileinfo[fd]; @@ -814,6 +947,7 @@ static int get_map_row_nomask(int fd, void *rast, int row, { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD static void (*transfer_to_cell_FtypeOtype[3][3])(int, void *) = { ======= @@ -825,6 +959,12 @@ static int get_map_row_nomask(int fd, void *rast, int row, ======= static void (*transfer_to_cell_FtypeOtype[3][3])(int, void *) = { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + static void (*transfer_to_cell_FtypeOtype[3][3])() = { +======= + static void (*transfer_to_cell_FtypeOtype[3][3])(int, void *) = { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) {transfer_to_cell_XX, transfer_to_cell_if, transfer_to_cell_id}, {transfer_to_cell_fi, transfer_to_cell_XX, transfer_to_cell_fd}, {transfer_to_cell_di, transfer_to_cell_df, transfer_to_cell_XX}}; @@ -1110,6 +1250,7 @@ static int read_null_bits_compressed(int null_fd, unsigned char *flags, int row, if (readamount == size) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((res = read(null_fd, flags, size)) < 0 || (unsigned int)res != size) { @@ -1123,6 +1264,13 @@ static int read_null_bits_compressed(int null_fd, unsigned char *flags, int row, if ((res = read(null_fd, flags, size)) < 0 || (unsigned int)res != size) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (read(null_fd, flags, size) != size) { +======= + if ((res = read(null_fd, flags, size)) < 0 || + (unsigned int)res != size) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error( _("Error reading compressed null data for row %d of <%s>"), row, fcb->name); @@ -1132,6 +1280,7 @@ static int read_null_bits_compressed(int null_fd, unsigned char *flags, int row, compressed_buf = G_malloc(readamount); +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if ((res = read(null_fd, compressed_buf, readamount)) < 0 || @@ -1146,6 +1295,13 @@ static int read_null_bits_compressed(int null_fd, unsigned char *flags, int row, if ((res = read(null_fd, compressed_buf, readamount)) < 0 || (unsigned int)res != readamount) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (read(null_fd, compressed_buf, readamount) != readamount) { +======= + if ((res = read(null_fd, compressed_buf, readamount)) < 0 || + (unsigned int)res != readamount) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_free(compressed_buf); G_fatal_error( _("Error reading compressed null data for row %d of <%s>"), row, diff --git a/lib/raster/open.c b/lib/raster/open.c index 00146eca8c8..dbc61e5f9e6 100644 --- a/lib/raster/open.c +++ b/lib/raster/open.c @@ -468,6 +468,7 @@ void Rast_set_cell_format(int n) R__.nbytes = 1; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (R__.nbytes > (int)sizeof(CELL)) ======= @@ -479,6 +480,12 @@ void Rast_set_cell_format(int n) ======= if (R__.nbytes > (int)sizeof(CELL)) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (R__.nbytes > sizeof(CELL)) +======= + if (R__.nbytes > (int)sizeof(CELL)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) R__.nbytes = sizeof(CELL); } diff --git a/lib/raster/put_row.c b/lib/raster/put_row.c index 550c859e12b..efcb49ab521 100644 --- a/lib/raster/put_row.c +++ b/lib/raster/put_row.c @@ -550,6 +550,7 @@ static void write_null_bits_compressed(const unsigned char *flags, int row, /* compress null bits file with LZ4, see lib/gis/compress.h */ nwrite = G_compress((unsigned char *)flags, size, compressed_buf, cmax, 3); +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if (nwrite > 0 && (size_t)nwrite < size) { @@ -562,11 +563,19 @@ static void write_null_bits_compressed(const unsigned char *flags, int row, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + if (nwrite > 0 && nwrite < size) { + if (write(fcb->null_fd, compressed_buf, nwrite) != nwrite) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if (nwrite > 0 && (size_t)nwrite < size) { if ((res = write(fcb->null_fd, compressed_buf, nwrite)) < 0 || (unsigned int)res != nwrite) +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error( _("Error writing compressed null data for row %d of <%s>: %s"), row, fcb->name, strerror(errno)); @@ -574,6 +583,7 @@ static void write_null_bits_compressed(const unsigned char *flags, int row, else { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((res = write(fcb->null_fd, flags, size)) < 0 || (unsigned int)res != size) @@ -587,6 +597,13 @@ static void write_null_bits_compressed(const unsigned char *flags, int row, if ((res = write(fcb->null_fd, flags, size)) < 0 || (unsigned int)res != size) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (write(fcb->null_fd, flags, size) != size) +======= + if ((res = write(fcb->null_fd, flags, size)) < 0 || + (unsigned int)res != size) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error( _("Error writing compressed null data for row %d of <%s>: %s"), row, fcb->name, strerror(errno)); @@ -625,6 +642,7 @@ void Rast__write_null_bits(int fd, const unsigned char *flags) if (lseek(fcb->null_fd, offset, SEEK_SET) < 0) G_fatal_error(_("Error writing null row %d of <%s>"), row, fcb->name); +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if ((res = write(fcb->null_fd, flags, size)) < 0 || @@ -639,6 +657,13 @@ void Rast__write_null_bits(int fd, const unsigned char *flags) if ((res = write(fcb->null_fd, flags, size)) < 0 || (unsigned int)res != size) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (write(fcb->null_fd, flags, size) != size) +======= + if ((res = write(fcb->null_fd, flags, size)) < 0 || + (unsigned int)res != size) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Error writing null row %d of <%s>: %s"), row, fcb->name, strerror(errno)); } diff --git a/lib/raster/quant.c b/lib/raster/quant.c index f857554c092..492156bbc73 100644 --- a/lib/raster/quant.c +++ b/lib/raster/quant.c @@ -605,6 +605,7 @@ CELL Rast_quant_get_cell_value(struct Quant *q, DCELL dcellVal) struct Quant_table *p; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*lower)(double, double); ======= @@ -616,6 +617,12 @@ CELL Rast_quant_get_cell_value(struct Quant *q, DCELL dcellVal) ======= int (*lower)(double, double); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*lower)(); +======= + int (*lower)(double, double); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) dtmp = dcellVal; /* I know the functions which call me already check for null values, diff --git a/lib/raster/range.c b/lib/raster/range.c index a5bf17e1129..7d0a008af06 100644 --- a/lib/raster/range.c +++ b/lib/raster/range.c @@ -329,6 +329,7 @@ int Rast_read_rstats(const char *name, const char *mapset, if (nbytes == 0) return 1; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if (nbytes < 1 || (unsigned char)nbytes > sizeof(grass_int64)) { @@ -341,6 +342,12 @@ int Rast_read_rstats(const char *name, const char *mapset, ======= if (nbytes < 1 || (unsigned char)nbytes > sizeof(grass_int64)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (nbytes < 1 || nbytes > sizeof(grass_int64)) { +======= + if (nbytes < 1 || (unsigned char)nbytes > sizeof(grass_int64)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) close(fd); G_debug(1, "Invalid byte count in stats file for <%s>", G_fully_qualified_name(name, mapset)); diff --git a/lib/raster3d/cache.c b/lib/raster3d/cache.c index 297cb79c579..a968650b5f5 100644 --- a/lib/raster3d/cache.c +++ b/lib/raster3d/cache.c @@ -85,6 +85,7 @@ static int cacheWrite_readFun(int tileIndex, void *tileBuf, void *closure) return 0; } <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((res = read(map->cacheFD, tileBuf, nBytes)) < 0 || (size_t)res != nBytes) { @@ -98,6 +99,13 @@ static int cacheWrite_readFun(int tileIndex, void *tileBuf, void *closure) if ((res = read(map->cacheFD, tileBuf, nBytes)) < 0 || (size_t)res != nBytes) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (read(map->cacheFD, tileBuf, nBytes) != nBytes) { +======= + if ((res = read(map->cacheFD, tileBuf, nBytes)) < 0 || + (size_t)res != nBytes) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_error("cacheWrite_readFun: can't read file"); return 0; } @@ -124,6 +132,7 @@ static int cacheWrite_readFun(int tileIndex, void *tileBuf, void *closure) return 0; } <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((res = read(map->cacheFD, xdr, nBytes + sizeof(int))) < 0 || (size_t)res != nBytes + sizeof(int)) { @@ -137,6 +146,13 @@ static int cacheWrite_readFun(int tileIndex, void *tileBuf, void *closure) if ((res = read(map->cacheFD, xdr, nBytes + sizeof(int))) < 0 || (size_t)res != nBytes + sizeof(int)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (read(map->cacheFD, xdr, nBytes + sizeof(int)) != nBytes + sizeof(int)) { +======= + if ((res = read(map->cacheFD, xdr, nBytes + sizeof(int))) < 0 || + (size_t)res != nBytes + sizeof(int)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_error("cacheWrite_readFun: can't read file"); return 0; } @@ -146,6 +162,7 @@ static int cacheWrite_readFun(int tileIndex, void *tileBuf, void *closure) return 0; } <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((res = write(map->cacheFD, xdr, nBytes + sizeof(int))) < 0 || (size_t)res != nBytes + sizeof(int)) { @@ -160,6 +177,14 @@ static int cacheWrite_readFun(int tileIndex, void *tileBuf, void *closure) if ((res = write(map->cacheFD, xdr, nBytes + sizeof(int))) < 0 || (size_t)res != nBytes + sizeof(int)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (write(map->cacheFD, xdr, nBytes + sizeof(int)) != + nBytes + sizeof(int)) { +======= + if ((res = write(map->cacheFD, xdr, nBytes + sizeof(int))) < 0 || + (size_t)res != nBytes + sizeof(int)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_error("cacheWrite_readFun: can't write file"); return 0; } @@ -194,6 +219,7 @@ static int cacheWrite_writeFun(int tileIndex, const void *tileBuf, return 0; } <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((res = write(map->cacheFD, tileBuf, nBytes)) < 0 || (size_t)res != nBytes) { @@ -207,6 +233,13 @@ static int cacheWrite_writeFun(int tileIndex, const void *tileBuf, if ((res = write(map->cacheFD, tileBuf, nBytes)) < 0 || (size_t)res != nBytes) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (write(map->cacheFD, tileBuf, nBytes) != nBytes) { +======= + if ((res = write(map->cacheFD, tileBuf, nBytes)) < 0 || + (size_t)res != nBytes) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_error("cacheWrite_writeFun: can't write file"); return 0; } diff --git a/lib/raster3d/cache1.c b/lib/raster3d/cache1.c index 3e02254deca..bfbfa208dcd 100644 --- a/lib/raster3d/cache1.c +++ b/lib/raster3d/cache1.c @@ -87,6 +87,7 @@ void *Rast3d_cache_new(int nofElts, int sizeOfElts, int nofNames, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) int (*eltRemoveFun)(int, const void *, void *), @@ -104,6 +105,16 @@ void *Rast3d_cache_new(int nofElts, int sizeOfElts, int nofNames, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*eltRemoveFun)(), void *eltRemoveFunData, + int (*eltLoadFun)(), void *eltLoadFunData) +======= + int (*eltRemoveFun)(int, const void *, void *), + void *eltRemoveFunData, + int (*eltLoadFun)(int, void *, void *), + void *eltLoadFunData) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { RASTER3D_cache *tmp; int i; @@ -157,6 +168,7 @@ void *Rast3d_cache_new(int nofElts, int sizeOfElts, int nofNames, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void Rast3d_cache_set_remove_fun(RASTER3D_cache *c, int (*eltRemoveFun)(int, const void *, void *), ======= @@ -169,6 +181,13 @@ void Rast3d_cache_set_remove_fun(RASTER3D_cache *c, int (*eltRemoveFun)(), void Rast3d_cache_set_remove_fun(RASTER3D_cache *c, int (*eltRemoveFun)(int, const void *, void *), >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void Rast3d_cache_set_remove_fun(RASTER3D_cache *c, int (*eltRemoveFun)(), +======= +void Rast3d_cache_set_remove_fun(RASTER3D_cache *c, + int (*eltRemoveFun)(int, const void *, void *), +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void *eltRemoveFunData) { c->eltRemoveFun = eltRemoveFun; @@ -180,6 +199,7 @@ void Rast3d_cache_set_remove_fun(RASTER3D_cache *c, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void Rast3d_cache_set_load_fun(RASTER3D_cache *c, int (*eltLoadFun)(int, void *, void *), ======= @@ -192,6 +212,13 @@ void Rast3d_cache_set_load_fun(RASTER3D_cache *c, int (*eltLoadFun)(), void Rast3d_cache_set_load_fun(RASTER3D_cache *c, int (*eltLoadFun)(int, void *, void *), >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void Rast3d_cache_set_load_fun(RASTER3D_cache *c, int (*eltLoadFun)(), +======= +void Rast3d_cache_set_load_fun(RASTER3D_cache *c, + int (*eltLoadFun)(int, void *, void *), +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void *eltLoadFunData) { c->eltLoadFun = eltLoadFun; diff --git a/lib/raster3d/cachehash.h b/lib/raster3d/cachehash.h index b666cfaeaa6..abf2633388d 100644 --- a/lib/raster3d/cachehash.h +++ b/lib/raster3d/cachehash.h @@ -1,6 +1,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD extern void *Rast3d_cache_hash_new(int /* nofElts */); ======= extern void *Rast3d_cache_hash_new(/* nofElts */); @@ -11,3 +12,9 @@ extern void *Rast3d_cache_hash_new(/* nofElts */); ======= extern void *Rast3d_cache_hash_new(int /* nofElts */); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +extern void *Rast3d_cache_hash_new(/* nofElts */); +======= +extern void *Rast3d_cache_hash_new(int /* nofElts */); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/lib/raster3d/doubleio.c b/lib/raster3d/doubleio.c index ceb780cca06..19790bafa32 100644 --- a/lib/raster3d/doubleio.c +++ b/lib/raster3d/doubleio.c @@ -17,6 +17,7 @@ int Rast3d_write_doubles(int fd, int useXdr, const double *i, int nofNum) if (useXdr == RASTER3D_NO_XDR) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (write(fd, i, sizeof(double) * nofNum) != (int)sizeof(double) * nofNum) { @@ -30,6 +31,13 @@ int Rast3d_write_doubles(int fd, int useXdr, const double *i, int nofNum) if (write(fd, i, sizeof(double) * nofNum) != (int)sizeof(double) * nofNum) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (write(fd, i, sizeof(double) * nofNum) != sizeof(double) * nofNum) { +======= + if (write(fd, i, sizeof(double) * nofNum) != + (int)sizeof(double) * nofNum) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_error("Rast3d_write_doubles: writing to file failed"); return 0; } @@ -41,6 +49,7 @@ int Rast3d_write_doubles(int fd, int useXdr, const double *i, int nofNum) do { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned int j; ======= @@ -52,6 +61,12 @@ int Rast3d_write_doubles(int fd, int useXdr, const double *i, int nofNum) ======= unsigned int j; >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + int j; +======= + unsigned int j; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) n = nofNum % 1024; if (n == 0) @@ -86,6 +101,7 @@ int Rast3d_read_doubles(int fd, int useXdr, double *i, int nofNum) if (useXdr == RASTER3D_NO_XDR) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (read(fd, i, sizeof(double) * nofNum) != (int)sizeof(double) * nofNum) { @@ -99,6 +115,13 @@ int Rast3d_read_doubles(int fd, int useXdr, double *i, int nofNum) if (read(fd, i, sizeof(double) * nofNum) != (int)sizeof(double) * nofNum) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (read(fd, i, sizeof(double) * nofNum) != sizeof(double) * nofNum) { +======= + if (read(fd, i, sizeof(double) * nofNum) != + (int)sizeof(double) * nofNum) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_error("Rast3d_read_doubles: reading from file failed"); return 0; } @@ -110,6 +133,7 @@ int Rast3d_read_doubles(int fd, int useXdr, double *i, int nofNum) do { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned int j; ======= @@ -121,6 +145,12 @@ int Rast3d_read_doubles(int fd, int useXdr, double *i, int nofNum) ======= unsigned int j; >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + int j; +======= + unsigned int j; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) n = nofNum % 1024; if (n == 0) diff --git a/lib/raster3d/fpcompress.c b/lib/raster3d/fpcompress.c index 43408b235b3..720c1fc4700 100644 --- a/lib/raster3d/fpcompress.c +++ b/lib/raster3d/fpcompress.c @@ -165,6 +165,7 @@ static void G_fpcompress_rearrangeEncodeFloats(unsigned char *src, int size, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (8 - nBits < (unsigned int)precision) { ======= @@ -176,6 +177,12 @@ static void G_fpcompress_rearrangeEncodeFloats(unsigned char *src, int size, ======= if (8 - nBits < (unsigned int)precision) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (8 - nBits < precision) { +======= + if (8 - nBits < (unsigned int)precision) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) cp1++; /*printf ("%d %d\n", *cp1, (*src & mask) << (8 - nBits)); */ @@ -351,6 +358,7 @@ static void G_fpcompress_rearrangeEncodeDoubles(unsigned char *src, int size, *cp1 |= (unsigned char)((unsigned char)(*src & mask) >> nBits); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (8 - nBits < (unsigned int)precision) { ======= @@ -362,6 +370,12 @@ static void G_fpcompress_rearrangeEncodeDoubles(unsigned char *src, int size, ======= if (8 - nBits < (unsigned int)precision) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (8 - nBits < precision) { +======= + if (8 - nBits < (unsigned int)precision) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) cp1++; *cp1 = (unsigned char)(((unsigned char)(*src & mask)) << (8 - nBits)); @@ -517,6 +531,7 @@ static void G_fpcompress_rearrangeDecodeFloats(unsigned char *src, int size, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (8 - nBits < (unsigned int)precision) { ======= @@ -528,6 +543,12 @@ static void G_fpcompress_rearrangeDecodeFloats(unsigned char *src, int size, ======= if (8 - nBits < (unsigned int)precision) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (8 - nBits < precision) { +======= + if (8 - nBits < (unsigned int)precision) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) cp1++; *dst |= (unsigned char)((*cp1 >> (8 - nBits)) & mask); nBits += precision - 8; @@ -696,6 +717,7 @@ static void G_fpcompress_rearrangeDecodeDoubles(unsigned char *src, int size, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (8 - nBits < (unsigned int)precision) { ======= @@ -707,6 +729,12 @@ static void G_fpcompress_rearrangeDecodeDoubles(unsigned char *src, int size, ======= if (8 - nBits < (unsigned int)precision) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (8 - nBits < precision) { +======= + if (8 - nBits < (unsigned int)precision) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) cp1++; *dst |= (unsigned char)((*cp1 >> (8 - nBits)) & mask); nBits += precision - 8; diff --git a/lib/raster3d/fpxdr.c b/lib/raster3d/fpxdr.c index 30bd47f9a1f..297df01c992 100644 --- a/lib/raster3d/fpxdr.c +++ b/lib/raster3d/fpxdr.c @@ -144,6 +144,7 @@ static int xdr_put(const void *src) if (isFloat) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (xdr_off + RASTER3D_XDR_FLOAT_LENGTH > (size_t)xdrLength) ======= @@ -155,6 +156,12 @@ static int xdr_put(const void *src) ======= if (xdr_off + RASTER3D_XDR_FLOAT_LENGTH > (size_t)xdrLength) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (xdr_off + RASTER3D_XDR_FLOAT_LENGTH > xdrLength) +======= + if (xdr_off + RASTER3D_XDR_FLOAT_LENGTH > (size_t)xdrLength) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; G_xdr_put_float((char *)xdr + xdr_off, src); xdr_off += RASTER3D_XDR_FLOAT_LENGTH; @@ -162,6 +169,7 @@ static int xdr_put(const void *src) else { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (xdr_off + RASTER3D_XDR_DOUBLE_LENGTH > (size_t)xdrLength) ======= @@ -173,6 +181,12 @@ static int xdr_put(const void *src) ======= if (xdr_off + RASTER3D_XDR_DOUBLE_LENGTH > (size_t)xdrLength) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (xdr_off + RASTER3D_XDR_DOUBLE_LENGTH > xdrLength) +======= + if (xdr_off + RASTER3D_XDR_DOUBLE_LENGTH > (size_t)xdrLength) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; G_xdr_put_double((char *)xdr + xdr_off, src); xdr_off += RASTER3D_XDR_DOUBLE_LENGTH; @@ -250,6 +264,7 @@ static int xdr_get(void *src) if (isFloat) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (xdr_off + RASTER3D_XDR_FLOAT_LENGTH > (size_t)xdrLength) ======= @@ -261,6 +276,12 @@ static int xdr_get(void *src) ======= if (xdr_off + RASTER3D_XDR_FLOAT_LENGTH > (size_t)xdrLength) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (xdr_off + RASTER3D_XDR_FLOAT_LENGTH > xdrLength) +======= + if (xdr_off + RASTER3D_XDR_FLOAT_LENGTH > (size_t)xdrLength) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; G_xdr_get_float(src, (char *)xdr + xdr_off); xdr_off += RASTER3D_XDR_FLOAT_LENGTH; @@ -268,6 +289,7 @@ static int xdr_get(void *src) else { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (xdr_off + RASTER3D_XDR_DOUBLE_LENGTH > (size_t)xdrLength) ======= @@ -279,6 +301,12 @@ static int xdr_get(void *src) ======= if (xdr_off + RASTER3D_XDR_DOUBLE_LENGTH > (size_t)xdrLength) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (xdr_off + RASTER3D_XDR_DOUBLE_LENGTH > xdrLength) +======= + if (xdr_off + RASTER3D_XDR_DOUBLE_LENGTH > (size_t)xdrLength) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; G_xdr_get_double(src, (char *)xdr + xdr_off); xdr_off += RASTER3D_XDR_DOUBLE_LENGTH; diff --git a/lib/raster3d/index.c b/lib/raster3d/index.c index 472ab047a7e..61d584ab002 100644 --- a/lib/raster3d/index.c +++ b/lib/raster3d/index.c @@ -48,6 +48,7 @@ static int Rast3d_readIndex(RASTER3D_Map *map) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (indexLength > (int)sizeof(long) * map->nTiles) { ======= @@ -59,6 +60,12 @@ static int Rast3d_readIndex(RASTER3D_Map *map) ======= if (indexLength > (int)sizeof(long) * map->nTiles) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (indexLength > sizeof(long) * map->nTiles) { +======= + if (indexLength > (int)sizeof(long) * map->nTiles) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /*->index large enough? */ tmp2 = Rast3d_malloc(indexLength); @@ -81,6 +88,7 @@ static int Rast3d_readIndex(RASTER3D_Map *map) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (indexLength > (int)sizeof(long) * map->nTiles) ======= @@ -92,6 +100,12 @@ static int Rast3d_readIndex(RASTER3D_Map *map) ======= if (indexLength > (int)sizeof(long) * map->nTiles) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (indexLength > sizeof(long) * map->nTiles) +======= + if (indexLength > (int)sizeof(long) * map->nTiles) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_free(tmp2); } /* END RLE */ diff --git a/lib/raster3d/intio.c b/lib/raster3d/intio.c index 8a18b1859da..5a32dd8b27f 100644 --- a/lib/raster3d/intio.c +++ b/lib/raster3d/intio.c @@ -17,6 +17,7 @@ int Rast3d_write_ints(int fd, int useXdr, const int *i, int nofNum) if (useXdr == RASTER3D_NO_XDR) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (write(fd, i, sizeof(int) * nofNum) != (int)sizeof(int) * nofNum) { ======= @@ -28,6 +29,12 @@ int Rast3d_write_ints(int fd, int useXdr, const int *i, int nofNum) ======= if (write(fd, i, sizeof(int) * nofNum) != (int)sizeof(int) * nofNum) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (write(fd, i, sizeof(int) * nofNum) != sizeof(int) * nofNum) { +======= + if (write(fd, i, sizeof(int) * nofNum) != (int)sizeof(int) * nofNum) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_error("Rast3d_write_ints: writing to file failed"); return 0; } @@ -39,6 +46,7 @@ int Rast3d_write_ints(int fd, int useXdr, const int *i, int nofNum) do { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned int j; ======= @@ -50,6 +58,12 @@ int Rast3d_write_ints(int fd, int useXdr, const int *i, int nofNum) ======= unsigned int j; >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + int j; +======= + unsigned int j; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) n = nofNum % 1024; if (n == 0) @@ -84,6 +98,7 @@ int Rast3d_read_ints(int fd, int useXdr, int *i, int nofNum) if (useXdr == RASTER3D_NO_XDR) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (read(fd, i, sizeof(int) * nofNum) != (int)sizeof(int) * nofNum) { ======= @@ -95,6 +110,12 @@ int Rast3d_read_ints(int fd, int useXdr, int *i, int nofNum) ======= if (read(fd, i, sizeof(int) * nofNum) != (int)sizeof(int) * nofNum) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (read(fd, i, sizeof(int) * nofNum) != sizeof(int) * nofNum) { +======= + if (read(fd, i, sizeof(int) * nofNum) != (int)sizeof(int) * nofNum) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_error("Rast3d_read_ints: reading from file failed"); return 0; } @@ -106,6 +127,7 @@ int Rast3d_read_ints(int fd, int useXdr, int *i, int nofNum) do { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned int j; ======= @@ -117,6 +139,12 @@ int Rast3d_read_ints(int fd, int useXdr, int *i, int nofNum) ======= unsigned int j; >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + int j; +======= + unsigned int j; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) n = nofNum % 1024; if (n == 0) diff --git a/lib/raster3d/long.c b/lib/raster3d/long.c index 811aee17a3a..ec32c697251 100644 --- a/lib/raster3d/long.c +++ b/lib/raster3d/long.c @@ -51,6 +51,7 @@ void Rast3d_long_decode(unsigned char *source, long *dst, int nofNums, *dest = *source--; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((eltLength >= (int)RASTER3D_LONG_LENGTH) && (*dest != 0)) ======= @@ -62,6 +63,12 @@ void Rast3d_long_decode(unsigned char *source, long *dst, int nofNums, ======= if ((eltLength >= (int)RASTER3D_LONG_LENGTH) && (*dest != 0)) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if ((eltLength >= RASTER3D_LONG_LENGTH) && (*dest != 0)) +======= + if ((eltLength >= (int)RASTER3D_LONG_LENGTH) && (*dest != 0)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_fatal_error("Rast3d_long_decode: decoded long too long"); dest--; } @@ -75,6 +82,7 @@ void Rast3d_long_decode(unsigned char *source, long *dst, int nofNums, *dest += *source--; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((eltLength >= (int)RASTER3D_LONG_LENGTH) && (*dest != 0)) ======= @@ -86,6 +94,12 @@ void Rast3d_long_decode(unsigned char *source, long *dst, int nofNums, ======= if ((eltLength >= (int)RASTER3D_LONG_LENGTH) && (*dest != 0)) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if ((eltLength >= RASTER3D_LONG_LENGTH) && (*dest != 0)) +======= + if ((eltLength >= (int)RASTER3D_LONG_LENGTH) && (*dest != 0)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_fatal_error("Rast3d_long_decode: decoded long too long"); dest--; } diff --git a/lib/raster3d/open.c b/lib/raster3d/open.c index 53edd87c1d5..fb8335e9006 100644 --- a/lib/raster3d/open.c +++ b/lib/raster3d/open.c @@ -142,6 +142,7 @@ void *Rast3d_open_cell_old(const char *name, const char *mapset, /* if our long is to short to store offsets we can't read the file */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (map->indexNbytesUsed > (int)sizeof(long)) ======= @@ -153,6 +154,12 @@ void *Rast3d_open_cell_old(const char *name, const char *mapset, ======= if (map->indexNbytesUsed > (int)sizeof(long)) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (map->indexNbytesUsed > sizeof(long)) +======= + if (map->indexNbytesUsed > (int)sizeof(long)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_fatal_error( _("Rast3d_open_cell_old: index does not fit into long")); diff --git a/lib/raster3d/resample.c b/lib/raster3d/resample.c index e65e88f20e5..518e3d77fbe 100644 --- a/lib/raster3d/resample.c +++ b/lib/raster3d/resample.c @@ -53,6 +53,7 @@ void Rast3d_nearest_neighbor(RASTER3D_Map *map, int x, int y, int z, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void Rast3d_set_resampling_fun(RASTER3D_Map *map, void (*resampleFun)(RASTER3D_Map *, int, int, int, void *, int)) @@ -63,10 +64,17 @@ void Rast3d_set_resampling_fun(RASTER3D_Map *map, void (*resampleFun)()) void Rast3d_set_resampling_fun(RASTER3D_Map *map, void (*resampleFun)()) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +void Rast3d_set_resampling_fun(RASTER3D_Map *map, void (*resampleFun)()) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= void Rast3d_set_resampling_fun(RASTER3D_Map *map, void (*resampleFun)(RASTER3D_Map *, int, int, int, void *, int)) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { map->resampleFun = resampleFun; } @@ -86,6 +94,7 @@ void Rast3d_set_resampling_fun(RASTER3D_Map *map, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void Rast3d_get_resampling_fun(RASTER3D_Map *map, void (**resampleFun)(RASTER3D_Map *, int, int, int, void *, int)) @@ -96,10 +105,17 @@ void Rast3d_get_resampling_fun(RASTER3D_Map *map, void (**resampleFun)()) void Rast3d_get_resampling_fun(RASTER3D_Map *map, void (**resampleFun)()) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +void Rast3d_get_resampling_fun(RASTER3D_Map *map, void (**resampleFun)()) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= void Rast3d_get_resampling_fun(RASTER3D_Map *map, void (**resampleFun)(RASTER3D_Map *, int, int, int, void *, int)) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { *resampleFun = map->resampleFun; } @@ -119,6 +135,7 @@ void Rast3d_get_resampling_fun(RASTER3D_Map *map, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void Rast3d_get_nearest_neighbor_fun_ptr(void (**nnFunPtr)(RASTER3D_Map *, int, int, int, void *, int)) @@ -129,10 +146,17 @@ void Rast3d_get_nearest_neighbor_fun_ptr(void (**nnFunPtr)()) void Rast3d_get_nearest_neighbor_fun_ptr(void (**nnFunPtr)()) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +void Rast3d_get_nearest_neighbor_fun_ptr(void (**nnFunPtr)()) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= void Rast3d_get_nearest_neighbor_fun_ptr(void (**nnFunPtr)(RASTER3D_Map *, int, int, int, void *, int)) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { *nnFunPtr = Rast3d_nearest_neighbor; } diff --git a/lib/raster3d/tilemath.c b/lib/raster3d/tilemath.c index 525245c5790..dc23c21b824 100644 --- a/lib/raster3d/tilemath.c +++ b/lib/raster3d/tilemath.c @@ -346,6 +346,7 @@ void Rast3d_compute_optimal_tile_dimension(RASTER3D_Region *region, int type, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (maxSize < 0 || tileSize <= (unsigned int)maxSize * 1024) ======= @@ -357,6 +358,12 @@ void Rast3d_compute_optimal_tile_dimension(RASTER3D_Region *region, int type, ======= if (maxSize < 0 || tileSize <= (unsigned int)maxSize * 1024) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (tileSize <= maxSize * 1024) +======= + if (maxSize < 0 || tileSize <= (unsigned int)maxSize * 1024) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) break; /* Compute weighted tile sizes. Take care that the tile size is computed diff --git a/lib/raster3d/tileread.c b/lib/raster3d/tileread.c index f2714778fdd..144bfc75aae 100644 --- a/lib/raster3d/tileread.c +++ b/lib/raster3d/tileread.c @@ -98,6 +98,7 @@ static int Rast3d_readTileUncompressed(RASTER3D_Map *map, int tileIndex, nofBytes = RASTER3D_MIN(nofBytes, (size_t)map->fileEndPtr - map->index[tileIndex]); +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if ((res = read(map->data_fd, xdr, nofBytes)) < 0 || @@ -112,6 +113,13 @@ static int Rast3d_readTileUncompressed(RASTER3D_Map *map, int tileIndex, if ((res = read(map->data_fd, xdr, nofBytes)) < 0 || (size_t)res != nofBytes) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (read(map->data_fd, xdr, nofBytes) != nofBytes) { +======= + if ((res = read(map->data_fd, xdr, nofBytes)) < 0 || + (size_t)res != nofBytes) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_error("Rast3d_readTileUncompressed: can't read file"); return 0; } diff --git a/lib/rst/interp_float/output2d.c b/lib/rst/interp_float/output2d.c index 758cc6219a9..0bebcbf6521 100644 --- a/lib/rst/interp_float/output2d.c +++ b/lib/rst/interp_float/output2d.c @@ -142,6 +142,7 @@ int IL_output_2d(struct interp_params *params, if (fread(cell1, sizeof(FCELL), params->nsizc, params->Tmp_fd_z) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD (size_t)params->nsizc) ======= @@ -153,6 +154,12 @@ int IL_output_2d(struct interp_params *params, ======= (size_t)params->nsizc) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + params->nsizc) +======= + (size_t)params->nsizc) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("RST library temporary file reading error: %s"), strerror(errno)); Rast_put_f_row(cf1, cell1); @@ -170,6 +177,7 @@ int IL_output_2d(struct interp_params *params, if (fread(cell1, sizeof(FCELL), params->nsizc, params->Tmp_fd_dx) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD (size_t)params->nsizc) ======= @@ -181,6 +189,12 @@ int IL_output_2d(struct interp_params *params, ======= (size_t)params->nsizc) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + params->nsizc) +======= + (size_t)params->nsizc) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("RST library temporary file reading error: %s"), strerror(errno)); Rast_put_f_row(cf2, cell1); @@ -198,6 +212,7 @@ int IL_output_2d(struct interp_params *params, if (fread(cell1, sizeof(FCELL), params->nsizc, params->Tmp_fd_dy) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD (size_t)params->nsizc) ======= @@ -209,6 +224,12 @@ int IL_output_2d(struct interp_params *params, ======= (size_t)params->nsizc) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + params->nsizc) +======= + (size_t)params->nsizc) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("RST library temporary file reading error: %s"), strerror(errno)); Rast_put_f_row(cf3, cell1); @@ -226,6 +247,7 @@ int IL_output_2d(struct interp_params *params, if (fread(cell1, sizeof(FCELL), params->nsizc, params->Tmp_fd_xx) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD (size_t)params->nsizc) ======= @@ -237,6 +259,12 @@ int IL_output_2d(struct interp_params *params, ======= (size_t)params->nsizc) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + params->nsizc) +======= + (size_t)params->nsizc) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("RST library temporary file reading error: %s"), strerror(errno)); Rast_put_f_row(cf4, cell1); @@ -254,6 +282,7 @@ int IL_output_2d(struct interp_params *params, if (fread(cell1, sizeof(FCELL), params->nsizc, params->Tmp_fd_yy) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD (size_t)params->nsizc) ======= @@ -265,6 +294,12 @@ int IL_output_2d(struct interp_params *params, ======= (size_t)params->nsizc) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + params->nsizc) +======= + (size_t)params->nsizc) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("RST library temporary file reading error: %s"), strerror(errno)); Rast_put_f_row(cf5, cell1); @@ -282,6 +317,7 @@ int IL_output_2d(struct interp_params *params, if (fread(cell1, sizeof(FCELL), params->nsizc, params->Tmp_fd_xy) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD (size_t)params->nsizc) ======= @@ -293,6 +329,12 @@ int IL_output_2d(struct interp_params *params, ======= (size_t)params->nsizc) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + params->nsizc) +======= + (size_t)params->nsizc) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("RST library temporary file reading error: %s"), strerror(errno)); Rast_put_f_row(cf6, cell1); diff --git a/lib/rst/interp_float/resout2d.c b/lib/rst/interp_float/resout2d.c index 7e332f801e9..ded5bab58dd 100644 --- a/lib/rst/interp_float/resout2d.c +++ b/lib/rst/interp_float/resout2d.c @@ -137,6 +137,7 @@ int IL_resample_output_2d( if (fread(cell1, sizeof(FCELL), params->nsizc, params->Tmp_fd_z) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD (size_t)params->nsizc) ======= @@ -148,6 +149,12 @@ int IL_resample_output_2d( ======= (size_t)params->nsizc) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + params->nsizc) +======= + (size_t)params->nsizc) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("RST library temporary file reading error: %s"), strerror(errno)); Rast_put_f_row(cf1, cell1); @@ -165,6 +172,7 @@ int IL_resample_output_2d( if (fread(cell1, sizeof(FCELL), params->nsizc, params->Tmp_fd_dx) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD (size_t)params->nsizc) ======= @@ -176,6 +184,12 @@ int IL_resample_output_2d( ======= (size_t)params->nsizc) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + params->nsizc) +======= + (size_t)params->nsizc) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("RST library temporary file reading error: %s"), strerror(errno)); Rast_put_f_row(cf2, cell1); @@ -193,6 +207,7 @@ int IL_resample_output_2d( if (fread(cell1, sizeof(FCELL), params->nsizc, params->Tmp_fd_dy) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD (size_t)params->nsizc) ======= @@ -204,6 +219,12 @@ int IL_resample_output_2d( ======= (size_t)params->nsizc) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + params->nsizc) +======= + (size_t)params->nsizc) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("RST library temporary file reading error: %s"), strerror(errno)); Rast_put_f_row(cf3, cell1); @@ -221,6 +242,7 @@ int IL_resample_output_2d( if (fread(cell1, sizeof(FCELL), params->nsizc, params->Tmp_fd_xx) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD (size_t)params->nsizc) ======= @@ -232,6 +254,12 @@ int IL_resample_output_2d( ======= (size_t)params->nsizc) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + params->nsizc) +======= + (size_t)params->nsizc) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("RST library temporary file reading error: %s"), strerror(errno)); Rast_put_f_row(cf4, cell1); @@ -249,6 +277,7 @@ int IL_resample_output_2d( if (fread(cell1, sizeof(FCELL), params->nsizc, params->Tmp_fd_yy) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD (size_t)params->nsizc) ======= @@ -260,6 +289,12 @@ int IL_resample_output_2d( ======= (size_t)params->nsizc) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + params->nsizc) +======= + (size_t)params->nsizc) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("RST library temporary file reading error: %s"), strerror(errno)); Rast_put_f_row(cf5, cell1); @@ -277,6 +312,7 @@ int IL_resample_output_2d( if (fread(cell1, sizeof(FCELL), params->nsizc, params->Tmp_fd_xy) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD (size_t)params->nsizc) ======= @@ -288,6 +324,12 @@ int IL_resample_output_2d( ======= (size_t)params->nsizc) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + params->nsizc) +======= + (size_t)params->nsizc) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("RST library temporary file reading error: %s"), strerror(errno)); Rast_put_f_row(cf6, cell1); diff --git a/lib/rst/qtree/qtree.h b/lib/rst/qtree/qtree.h index af0f3210d76..9b98d0509f8 100644 --- a/lib/rst/qtree/qtree.h +++ b/lib/rst/qtree/qtree.h @@ -37,6 +37,7 @@ struct multfunc { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) int (*compare)(struct triple *, struct quaddata *); @@ -49,6 +50,8 @@ struct multfunc { ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int (*compare)(); struct quaddata **(*divide_data)(); int (*add_data)(); @@ -56,11 +59,22 @@ struct multfunc { int (*division_check)(); int (*get_points)(); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + int (*compare)(struct triple *, struct quaddata *); + struct quaddata **(*divide_data)(struct quaddata *, int, double); + int (*add_data)(struct triple *, struct quaddata *, double); + int (*intersect)(struct quaddata *, struct quaddata *); + int (*division_check)(struct quaddata *, int); + int (*get_points)(struct quaddata *, struct quaddata *, int); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) }; struct tree_info { diff --git a/lib/segment/format.c b/lib/segment/format.c index b561ddd8004..4e8263768e4 100644 --- a/lib/segment/format.c +++ b/lib/segment/format.c @@ -236,6 +236,7 @@ static int zero_fill(int fd, off_t nbytes) while (nbytes > 0) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD n = nbytes > (int)sizeof(buf) ? (int)sizeof(buf) : nbytes; ======= @@ -247,6 +248,12 @@ static int zero_fill(int fd, off_t nbytes) ======= n = nbytes > (int)sizeof(buf) ? (int)sizeof(buf) : nbytes; >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + n = nbytes > sizeof(buf) ? sizeof(buf) : nbytes; +======= + n = nbytes > (int)sizeof(buf) ? (int)sizeof(buf) : nbytes; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) errno = 0; if (write(fd, buf, n) != n) { int err = errno; diff --git a/lib/segment/segmentlib.dox b/lib/segment/segmentlib.dox index b58a375e0d9..a7aa65d76a5 100644 --- a/lib/segment/segmentlib.dox +++ b/lib/segment/segmentlib.dox @@ -245,9 +245,12 @@ memory: int Segment_close (SEGMENT *seg), close segment structure

    Deletes the segment file and uses Segment_release() to release the +<<<<<<< HEAD <<<<<<< HEAD allocated memory. No further cleaning up is required. ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) allocated memory. No further cleaing up is required. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) diff --git a/lib/temporal/SQL/raster_views.sql b/lib/temporal/SQL/raster_views.sql index 76b51e9a82b..9618f05ed95 100644 --- a/lib/temporal/SQL/raster_views.sql +++ b/lib/temporal/SQL/raster_views.sql @@ -19,6 +19,7 @@ CREATE VIEW raster_view_abs_time AS SELECT A4.number_of_cells, A4.semantic_label, A5.registered_stds <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD FROM raster_base A1, raster_absolute_time A2, ======= @@ -29,6 +30,12 @@ CREATE VIEW raster_view_abs_time AS SELECT ======= FROM raster_base A1, raster_absolute_time A2, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + FROM raster_base A1, raster_absolute_time A2, +======= + FROM raster_base A1, raster_absolute_time A2, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) raster_spatial_extent A3, raster_metadata A4, raster_stds_register A5 WHERE A1.id = A2.id AND A1.id = A3.id AND @@ -46,6 +53,7 @@ CREATE VIEW raster_view_rel_time AS SELECT A4.number_of_cells, A4.semantic_label, A5.registered_stds <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD FROM raster_base A1, raster_relative_time A2, ======= @@ -56,6 +64,12 @@ CREATE VIEW raster_view_rel_time AS SELECT ======= FROM raster_base A1, raster_relative_time A2, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + FROM raster_base A1, raster_relative_time A2, +======= + FROM raster_base A1, raster_relative_time A2, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) raster_spatial_extent A3, raster_metadata A4, raster_stds_register A5 WHERE A1.id = A2.id AND A1.id = A3.id AND diff --git a/lib/temporal/SQL/update_stds_spatial_temporal_extent_template.sql b/lib/temporal/SQL/update_stds_spatial_temporal_extent_template.sql index 5c6d4de0766..a1f963b4236 100644 --- a/lib/temporal/SQL/update_stds_spatial_temporal_extent_template.sql +++ b/lib/temporal/SQL/update_stds_spatial_temporal_extent_template.sql @@ -1,8 +1,11 @@ --############################################################################# -- This SQL script is to update the spatial and temporal extent as well as <<<<<<< HEAD +<<<<<<< HEAD -- the modification time and revision of a space time dataset. This script ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) -- the modifcation time and revision of a space time dataset. This script >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) -- should be called when maps inserted or deleted in a space time dataset. @@ -27,6 +30,7 @@ UPDATE STDS_metadata SET number_of_maps = <<<<<<< HEAD -- Update the temporal extent +<<<<<<< HEAD UPDATE STDS_absolute_time SET start_time = new_stats.start_time_new, @@ -84,6 +88,8 @@ UPDATE STDS_spatial_extent WHERE STDS_spatial_extent.id = 'SPACETIME_ID'; ======= -- Update the temporal extent +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) UPDATE STDS_absolute_time SET start_time = (SELECT min(start_time) FROM GRASS_MAP_absolute_time WHERE GRASS_MAP_absolute_time.id IN (SELECT id FROM SPACETIME_REGISTER_TABLE) @@ -129,4 +135,7 @@ UPDATE STDS_spatial_extent SET proj = (SELECT min(proj) FROM GRASS_MAP_spatial_extent WHERE GRASS_MAP_spatial_extent.id IN (SELECT id FROM SPACETIME_REGISTER_TABLE) ) WHERE id = 'SPACETIME_ID'; +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/lib/temporal/SQL/update_str3ds_metadata_template.sql b/lib/temporal/SQL/update_str3ds_metadata_template.sql index 551e1dd92f3..52f7d620b27 100644 --- a/lib/temporal/SQL/update_str3ds_metadata_template.sql +++ b/lib/temporal/SQL/update_str3ds_metadata_template.sql @@ -84,4 +84,7 @@ UPDATE str3ds_metadata SET tbres_max = (SELECT max(tbres) FROM raster3d_metadata WHERE raster3d_metadata.id IN (SELECT id FROM SPACETIME_REGISTER_TABLE) ) WHERE id = 'SPACETIME_ID'; +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/lib/temporal/SQL/update_strds_metadata_template.sql b/lib/temporal/SQL/update_strds_metadata_template.sql index bbaf044566f..dc0ba386c6b 100644 --- a/lib/temporal/SQL/update_strds_metadata_template.sql +++ b/lib/temporal/SQL/update_strds_metadata_template.sql @@ -72,8 +72,18 @@ UPDATE strds_metadata SET ewres_min = (SELECT min(ewres) FROM raster_metadata WHERE raster_metadata.id IN (SELECT id FROM SPACETIME_REGISTER_TABLE) ) WHERE id = 'SPACETIME_ID'; +<<<<<<< HEAD +UPDATE strds_metadata SET ewres_max = + (SELECT max(ewres) FROM raster_metadata WHERE raster_metadata.id IN +======= +<<<<<<< HEAD +UPDATE strds_metadata SET ewres_max = + (SELECT max(ewres) FROM raster_metadata WHERE raster_metadata.id IN +======= UPDATE strds_metadata SET ewres_max = (SELECT max(ewres) FROM raster_metadata WHERE raster_metadata.id IN +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) (SELECT id FROM SPACETIME_REGISTER_TABLE) ) WHERE id = 'SPACETIME_ID'; <<<<<<< HEAD diff --git a/lib/temporal/SQL/update_stvds_metadata_template.sql b/lib/temporal/SQL/update_stvds_metadata_template.sql index ac23cacafd8..3fdab991ce7 100644 --- a/lib/temporal/SQL/update_stvds_metadata_template.sql +++ b/lib/temporal/SQL/update_stvds_metadata_template.sql @@ -11,6 +11,7 @@ -- Update the vector features and topology <<<<<<< HEAD +<<<<<<< HEAD UPDATE stvds_metadata SET points = new_stats.points_new, @@ -46,6 +47,8 @@ UPDATE stvds_metadata ) AS new_stats WHERE stvds_metadata.id = 'SPACETIME_ID'; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) UPDATE stvds_metadata SET points = (SELECT sum(points) FROM vector_metadata WHERE vector_metadata.id IN (SELECT id FROM SPACETIME_REGISTER_TABLE) diff --git a/lib/temporal/lib/map_list.c b/lib/temporal/lib/map_list.c index 3cd4d2055f9..c4659bf6b52 100644 --- a/lib/temporal/lib/map_list.c +++ b/lib/temporal/lib/map_list.c @@ -54,6 +54,7 @@ void tgis_free_map_list(tgisMapList *list) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD tgisMapList *tgis_new_map_list(void) ======= tgisMapList *tgis_new_map_list() @@ -64,6 +65,12 @@ tgisMapList *tgis_new_map_list() ======= tgisMapList *tgis_new_map_list(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +tgisMapList *tgis_new_map_list() +======= +tgisMapList *tgis_new_map_list(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { tgisMapList *list = G_malloc(sizeof(tgisMapList)); diff --git a/lib/vector/Vlib/box.c b/lib/vector/Vlib/box.c index ce1adbe7f66..ceae9183ecc 100644 --- a/lib/vector/Vlib/box.c +++ b/lib/vector/Vlib/box.c @@ -259,6 +259,7 @@ int Vect_get_line_box(const struct Map_info *Map, int line, if (Line == NULL) { /* dead */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD Box->N = Box->S = Box->E = Box->W = Box->T = Box->B = NAN; ======= @@ -270,6 +271,12 @@ int Vect_get_line_box(const struct Map_info *Map, int line, ======= Box->N = Box->S = Box->E = Box->W = Box->T = Box->B = NAN; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + Box->N = Box->S = Box->E = Box->W = Box->T = Box->B = 0. / 0.; +======= + Box->N = Box->S = Box->E = Box->W = Box->T = Box->B = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; } @@ -345,6 +352,7 @@ int Vect_get_area_box(const struct Map_info *Map, int area, if (Area == NULL) { /* dead */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD Box->N = Box->S = Box->E = Box->W = Box->T = Box->B = NAN; ======= @@ -356,6 +364,12 @@ int Vect_get_area_box(const struct Map_info *Map, int area, ======= Box->N = Box->S = Box->E = Box->W = Box->T = Box->B = NAN; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + Box->N = Box->S = Box->E = Box->W = Box->T = Box->B = 0. / 0.; +======= + Box->N = Box->S = Box->E = Box->W = Box->T = Box->B = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; } @@ -413,6 +427,7 @@ int Vect_get_isle_box(const struct Map_info *Map, int isle, if (Isle == NULL) { /* dead */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD Box->N = Box->S = Box->E = Box->W = Box->T = Box->B = NAN; ======= @@ -424,6 +439,12 @@ int Vect_get_isle_box(const struct Map_info *Map, int isle, ======= Box->N = Box->S = Box->E = Box->W = Box->T = Box->B = NAN; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + Box->N = Box->S = Box->E = Box->W = Box->T = Box->B = 0. / 0.; +======= + Box->N = Box->S = Box->E = Box->W = Box->T = Box->B = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; } diff --git a/lib/vector/Vlib/break_polygons.c b/lib/vector/Vlib/break_polygons.c index 1b59dc000c9..e7696228cf7 100644 --- a/lib/vector/Vlib/break_polygons.c +++ b/lib/vector/Vlib/break_polygons.c @@ -149,6 +149,7 @@ void Vect_break_polygons_file(struct Map_info *Map, int type, * points, if such point already exists check angles of segments and if * differ mark for break */ +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD npoints = 1; /* index starts from 1 ! */ @@ -160,6 +161,14 @@ void Vect_break_polygons_file(struct Map_info *Map, int type, ======= npoints = 1; /* index starts from 1 ! */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nmarks = 0; + npoints = 1; /* index starts from 1 ! */ + nallpoints = 0; +======= + npoints = 1; /* index starts from 1 ! */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) XPnt.used = 0; G_message(_("Breaking polygons (pass 1: select break points)...")); @@ -194,6 +203,7 @@ void Vect_break_polygons_file(struct Map_info *Map, int type, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nallpoints++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -202,6 +212,11 @@ void Vect_break_polygons_file(struct Map_info *Map, int type, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nallpoints++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (j == last_point && closed) continue; /* do not register last of close polygon */ @@ -258,6 +273,7 @@ void Vect_break_polygons_file(struct Map_info *Map, int type, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nmarks++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -266,6 +282,11 @@ void Vect_break_polygons_file(struct Map_info *Map, int type, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nmarks++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* write point */ lseek(xpntfd, (off_t)(fpoint - 1) * sizeof(XPNT2), SEEK_SET); @@ -284,6 +305,7 @@ void Vect_break_polygons_file(struct Map_info *Map, int type, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nmarks++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -292,6 +314,11 @@ void Vect_break_polygons_file(struct Map_info *Map, int type, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nmarks++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* write point */ lseek(xpntfd, (off_t)(fpoint - 1) * sizeof(XPNT2), SEEK_SET); @@ -312,6 +339,7 @@ void Vect_break_polygons_file(struct Map_info *Map, int type, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nmarks++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -320,6 +348,11 @@ void Vect_break_polygons_file(struct Map_info *Map, int type, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nmarks++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } else { XPnt.a1 = a1; @@ -370,6 +403,7 @@ void Vect_break_polygons_file(struct Map_info *Map, int type, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nallpoints++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -378,6 +412,11 @@ void Vect_break_polygons_file(struct Map_info *Map, int type, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nallpoints++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Box */ rect.boundary[0] = Points->x[j]; @@ -537,6 +576,7 @@ void Vect_break_polygons_mem(struct Map_info *Map, int type, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nallpoints++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -545,6 +585,11 @@ void Vect_break_polygons_mem(struct Map_info *Map, int type, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nallpoints++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (j == last_point && closed) continue; /* do not register last of close polygon */ @@ -589,6 +634,7 @@ void Vect_break_polygons_mem(struct Map_info *Map, int type, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nmarks++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -597,6 +643,11 @@ void Vect_break_polygons_mem(struct Map_info *Map, int type, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nmarks++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } else { G_debug(3, "a1 = %f xa1 = %f a2 = %f xa2 = %f", a1, @@ -610,6 +661,7 @@ void Vect_break_polygons_mem(struct Map_info *Map, int type, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nmarks++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -618,6 +670,11 @@ void Vect_break_polygons_mem(struct Map_info *Map, int type, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nmarks++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } } @@ -630,6 +687,7 @@ void Vect_break_polygons_mem(struct Map_info *Map, int type, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nmarks++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -638,6 +696,11 @@ void Vect_break_polygons_mem(struct Map_info *Map, int type, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nmarks++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } else { XPnt_search.a1 = a1; @@ -650,6 +713,7 @@ void Vect_break_polygons_mem(struct Map_info *Map, int type, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= npoints++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -658,6 +722,11 @@ void Vect_break_polygons_mem(struct Map_info *Map, int type, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + npoints++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } } @@ -700,6 +769,7 @@ void Vect_break_polygons_mem(struct Map_info *Map, int type, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nallpoints++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -708,6 +778,11 @@ void Vect_break_polygons_mem(struct Map_info *Map, int type, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nallpoints++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (Points->n_points <= 1 || (j == (Points->n_points - 1) && !broken)) diff --git a/lib/vector/Vlib/build.c b/lib/vector/Vlib/build.c index 550a750b8d0..2abe208f63d 100644 --- a/lib/vector/Vlib/build.c +++ b/lib/vector/Vlib/build.c @@ -33,10 +33,14 @@ #if !defined HAVE_OGR || !defined HAVE_POSTGRES <<<<<<< HEAD +<<<<<<< HEAD static int format(struct Map_info *Map UNUSED, int build UNUSED) ======= static int format(struct Map_info *Map, int build) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int format(struct Map_info *Map, int build) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_fatal_error(_("Requested format is not compiled in this version")); return 0; @@ -46,6 +50,7 @@ static int format(struct Map_info *Map, int build) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static int (*Build_array[])(struct Map_info *, int) = {Vect_build_nat #ifdef HAVE_OGR , @@ -83,6 +88,8 @@ static int (*Build_array[])(struct Map_info *, int) = {Vect_build_nat format >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static int (*Build_array[])() = {Vect_build_nat #ifdef HAVE_OGR , @@ -97,11 +104,31 @@ static int (*Build_array[])() = {Vect_build_nat #else , format +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= , format >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +static int (*Build_array[])(struct Map_info *, int) = {Vect_build_nat +#ifdef HAVE_OGR + , + Vect_build_ogr, + Vect_build_ogr +#else + , + format, format +#endif +#ifdef HAVE_POSTGRES + , + Vect_build_pg +#else + , + format +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif }; @@ -980,6 +1007,7 @@ int Vect_build_partial(struct Map_info *Map, int build) int line, nlines, area, nareas, err_boundaries, err_centr_out, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD err_centr_dupl /*, err_nocentr */; ======= @@ -991,6 +1019,12 @@ int Vect_build_partial(struct Map_info *Map, int build) ======= err_centr_dupl /*, err_nocentr */; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + err_centr_dupl, err_nocentr; +======= + err_centr_dupl /*, err_nocentr */; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) struct P_line *Line; struct Plus_head *Plus; @@ -1024,6 +1058,7 @@ int Vect_build_partial(struct Map_info *Map, int build) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* err_nocentr = 0; */ ======= @@ -1035,6 +1070,12 @@ int Vect_build_partial(struct Map_info *Map, int build) ======= /* err_nocentr = 0; */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + err_nocentr = 0; +======= + /* err_nocentr = 0; */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) nareas = Vect_get_num_areas(Map); for (area = 1; area <= nareas; area++) { if (!Vect_area_alive(Map, area)) @@ -1042,6 +1083,7 @@ int Vect_build_partial(struct Map_info *Map, int build) line = Vect_get_area_centroid(Map, area); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* if (line == 0) err_nocentr++; */ @@ -1057,6 +1099,14 @@ int Vect_build_partial(struct Map_info *Map, int build) /* if (line == 0) err_nocentr++; */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (line == 0) + err_nocentr++; +======= + /* if (line == 0) + err_nocentr++; */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } G_verbose_message(_("Number of areas: %d"), plus->n_areas); @@ -1332,6 +1382,7 @@ int Vect_build_sidx_from_topo(struct Map_info *Map) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= <<<<<<< HEAD @@ -1340,6 +1391,11 @@ int Vect_build_sidx_from_topo(struct Map_info *Map) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_debug(3, "Vect_build_sidx_from_topo(): name=%s", Vect_get_full_name(Map)); G_warning(_("%s is no longer supported"), "Vect_build_sidx_from_topo()"); diff --git a/lib/vector/Vlib/close.c b/lib/vector/Vlib/close.c index d82f38fd529..057e6fce51a 100644 --- a/lib/vector/Vlib/close.c +++ b/lib/vector/Vlib/close.c @@ -27,21 +27,29 @@ #include "local_proto.h" +<<<<<<< HEAD <<<<<<< HEAD static int clo_dummy(struct Map_info *map UNUSED) ======= static int clo_dummy(struct Map_info *map) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int clo_dummy(struct Map_info *map) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return -1; } #if !defined HAVE_OGR || !defined HAVE_POSTGRES <<<<<<< HEAD +<<<<<<< HEAD static int format(struct Map_info *map UNUSED) ======= static int format(struct Map_info *map) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int format(struct Map_info *map) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_fatal_error(_("Requested format is not compiled in this version")); return 0; @@ -51,6 +59,7 @@ static int format(struct Map_info *map) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static int (*Close_array[][2])(struct Map_info *) = {{clo_dummy, V1_close_nat} #ifdef HAVE_OGR , @@ -90,6 +99,8 @@ static int (*Close_array[][2])(struct Map_info *) = {{clo_dummy, V1_close_nat} {clo_dummy, format} >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static int (*Close_array[][2])() = {{clo_dummy, V1_close_nat} #ifdef HAVE_OGR , @@ -106,11 +117,32 @@ static int (*Close_array[][2])() = {{clo_dummy, V1_close_nat} #else , {clo_dummy, format} +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= , {clo_dummy, format} >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +static int (*Close_array[][2])(struct Map_info *) = {{clo_dummy, V1_close_nat} +#ifdef HAVE_OGR + , + {clo_dummy, V1_close_ogr}, + {clo_dummy, V1_close_ogr} +#else + , + {clo_dummy, format}, + {clo_dummy, format} +#endif +#ifdef HAVE_POSTGRES + , + {clo_dummy, V1_close_pg} +#else + , + {clo_dummy, format} +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif }; diff --git a/lib/vector/Vlib/open.c b/lib/vector/Vlib/open.c index 070d75156f3..4b880963536 100644 --- a/lib/vector/Vlib/open.c +++ b/lib/vector/Vlib/open.c @@ -44,42 +44,58 @@ */ #define MAX_OPEN_LEVEL 2 +<<<<<<< HEAD <<<<<<< HEAD static int open_old_dummy(struct Map_info *Map UNUSED, int update UNUSED) ======= static int open_old_dummy(struct Map_info *Map, int update) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int open_old_dummy(struct Map_info *Map, int update) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return 0; } +<<<<<<< HEAD <<<<<<< HEAD static int open_new_dummy(struct Map_info *Map UNUSED, const char *name UNUSED, int with_z UNUSED) ======= static int open_new_dummy(struct Map_info *Map, const char *name, int with_z) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int open_new_dummy(struct Map_info *Map, const char *name, int with_z) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return 0; } #if !defined HAVE_OGR || !defined HAVE_POSTGRES <<<<<<< HEAD +<<<<<<< HEAD static int format_old(struct Map_info *Map UNUSED, int update UNUSED) ======= static int format_old(struct Map_info *Map, int update) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int format_old(struct Map_info *Map, int update) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_fatal_error(_("Requested format is not compiled in this version")); return 0; } +<<<<<<< HEAD <<<<<<< HEAD static int format_new(struct Map_info *Map UNUSED, const char *name UNUSED, int with_z UNUSED) ======= static int format_new(struct Map_info *Map, const char *name, int with_z) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int format_new(struct Map_info *Map, const char *name, int with_z) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_fatal_error(_("Requested format is not compiled in this version")); return 0; @@ -91,6 +107,7 @@ static int Open_level = 0; <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static int (*Open_old_array[][2])(struct Map_info *, int) = {{open_old_dummy, V1_open_old_nat} #ifdef HAVE_OGR @@ -174,6 +191,8 @@ static int (*Open_new_array[][2])(struct Map_info *Map, const char *name, {open_old_dummy, format} >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static int (*Open_old_array[][2])() = {{open_old_dummy, V1_open_old_nat} #ifdef HAVE_OGR , @@ -209,11 +228,54 @@ static int (*Open_new_array[][2])() = {{open_new_dummy, V1_open_new_nat} #else , {open_old_dummy, format} +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= , {open_new_dummy, format_new} >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +static int (*Open_old_array[][2])(struct Map_info *, + int) = {{open_old_dummy, V1_open_old_nat} +#ifdef HAVE_OGR + , + {open_old_dummy, V1_open_old_ogr}, + {open_old_dummy, V1_open_old_ogr} +#else + , + {open_old_dummy, format_old}, + {open_old_dummy, format_old} +#endif +#ifdef HAVE_POSTGRES + , + {open_old_dummy, V1_open_old_pg} +#else + , + {open_old_dummy, format_old} +#endif +}; + +static int (*Open_new_array[][2])(struct Map_info *Map, const char *name, + int with_z) = { + {open_new_dummy, V1_open_new_nat} +#ifdef HAVE_OGR + , + {open_new_dummy, V1_open_new_ogr}, + {open_new_dummy, V1_open_new_ogr} +#else + , + {open_new_dummy, format_new}, + {open_new_dummy, format_new} +#endif +#ifdef HAVE_POSTGRES + , + {open_new_dummy, V1_open_new_pg} +#else + , + {open_new_dummy, format_new} +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif }; diff --git a/lib/vector/Vlib/rewind.c b/lib/vector/Vlib/rewind.c index a5c0a16a061..4b49dadfe9b 100644 --- a/lib/vector/Vlib/rewind.c +++ b/lib/vector/Vlib/rewind.c @@ -18,21 +18,29 @@ #include #include +<<<<<<< HEAD <<<<<<< HEAD static int rew_dummy(struct Map_info *Map UNUSED) ======= static int rew_dummy(struct Map_info *Map) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int rew_dummy(struct Map_info *Map) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { return -1; } #if !defined HAVE_OGR || !defined HAVE_POSTGRES <<<<<<< HEAD +<<<<<<< HEAD static int format(struct Map_info *Map UNUSED) ======= static int format(struct Map_info *Map) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int format(struct Map_info *Map) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_fatal_error(_("Requested format is not compiled in this version")); return 0; @@ -42,6 +50,7 @@ static int format(struct Map_info *Map) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static int (*Rewind_array[][4])(struct Map_info *) = { ======= static int (*Rewind_array[][4])() = { @@ -52,6 +61,12 @@ static int (*Rewind_array[][4])() = { ======= static int (*Rewind_array[][4])(struct Map_info *) = { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int (*Rewind_array[][4])() = { +======= +static int (*Rewind_array[][4])(struct Map_info *) = { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) {rew_dummy, V1_rewind_nat, V2_rewind_nat, rew_dummy} #ifdef HAVE_OGR , diff --git a/lib/vector/Vlib/snap.c b/lib/vector/Vlib/snap.c index 249d49f9a2e..15aedaf0941 100644 --- a/lib/vector/Vlib/snap.c +++ b/lib/vector/Vlib/snap.c @@ -193,6 +193,7 @@ static void Vect_snap_lines_list_kdtree(struct Map_info *Map, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int point; /* index in points array */ int nsnapped, ncreated; /* number of snapped verices, number of new vertices @@ -204,6 +205,8 @@ static void Vect_snap_lines_list_kdtree(struct Map_info *Map, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int point; /* index in points array */ int nanchors, ntosnap; /* number of anchors and number of points to be snapped */ @@ -215,9 +218,12 @@ static void Vect_snap_lines_list_kdtree(struct Map_info *Map, NEW *New = NULL; /* Array of new points */ int anew = 0, nnew; /* allocated new points , number of new points */ <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= int point; /* index in points array */ int nsnapped, ncreated; /* number of snapped verices, number of new vertices @@ -226,7 +232,11 @@ static void Vect_snap_lines_list_kdtree(struct Map_info *Map, XPNT *XPnts; /* Array of points */ NEW *New = NULL; /* Array of new points */ int anew = 0, nnew; /* allocated new points, number of new points */ +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) struct ilist *List; int *Index = NULL; /* indexes of anchors for vertices */ int aindex = 0; /* allocated Index */ @@ -255,6 +265,7 @@ static void Vect_snap_lines_list_kdtree(struct Map_info *Map, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -262,6 +273,11 @@ static void Vect_snap_lines_list_kdtree(struct Map_info *Map, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nvertices = 0; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) XPnts = NULL; G_important_message(_("Snap vertices Pass 1: select points")); @@ -284,6 +300,7 @@ static void Vect_snap_lines_list_kdtree(struct Map_info *Map, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nvertices++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -292,6 +309,11 @@ static void Vect_snap_lines_list_kdtree(struct Map_info *Map, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nvertices++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* coords */ c[0] = Points->x[v]; @@ -334,6 +356,7 @@ static void Vect_snap_lines_list_kdtree(struct Map_info *Map, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nanchors++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -342,6 +365,11 @@ static void Vect_snap_lines_list_kdtree(struct Map_info *Map, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nanchors++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Find points in threshold */ c[0] = XPnts[point].x; @@ -372,6 +400,7 @@ static void Vect_snap_lines_list_kdtree(struct Map_info *Map, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ntosnap++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -380,6 +409,11 @@ static void Vect_snap_lines_list_kdtree(struct Map_info *Map, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + ntosnap++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } else if (XPnts[pointb].anchor > 0) { /* check distance to previously assigned anchor */ @@ -612,6 +646,7 @@ static void Vect_snap_lines_list_rtree(struct Map_info *Map, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int point; /* index in points array */ int nsnapped, ncreated; /* number of snapped verices, number of new vertices @@ -623,6 +658,8 @@ static void Vect_snap_lines_list_rtree(struct Map_info *Map, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int point; /* index in points array */ int nanchors, ntosnap; /* number of anchors and number of points to be snapped */ @@ -634,9 +671,12 @@ static void Vect_snap_lines_list_rtree(struct Map_info *Map, NEW *New = NULL; /* Array of new points */ int anew = 0, nnew; /* allocated new points , number of new points */ <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= int point; /* index in points array */ int nsnapped, ncreated; /* number of snapped verices, number of new vertices @@ -645,7 +685,11 @@ static void Vect_snap_lines_list_rtree(struct Map_info *Map, XPNT *XPnts; /* Array of points */ NEW *New = NULL; /* Array of new points */ int anew = 0, nnew; /* allocated new points , number of new points */ +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) struct ilist *List; int *Index = NULL; /* indexes of anchors for vertices */ int aindex = 0; /* allocated Index */ @@ -684,6 +728,7 @@ static void Vect_snap_lines_list_rtree(struct Map_info *Map, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -691,6 +736,11 @@ static void Vect_snap_lines_list_rtree(struct Map_info *Map, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nvertices = 0; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) XPnts = NULL; G_important_message(_("Snap vertices Pass 1: select points")); @@ -712,6 +762,7 @@ static void Vect_snap_lines_list_rtree(struct Map_info *Map, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nvertices++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -720,6 +771,11 @@ static void Vect_snap_lines_list_rtree(struct Map_info *Map, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nvertices++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Box */ rect.boundary[0] = Points->x[v]; @@ -772,6 +828,7 @@ static void Vect_snap_lines_list_rtree(struct Map_info *Map, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nanchors++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -780,6 +837,11 @@ static void Vect_snap_lines_list_rtree(struct Map_info *Map, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nanchors++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Find points in threshold */ rect.boundary[0] = XPnts[point].x - thresh; @@ -814,6 +876,7 @@ static void Vect_snap_lines_list_rtree(struct Map_info *Map, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ntosnap++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -822,6 +885,11 @@ static void Vect_snap_lines_list_rtree(struct Map_info *Map, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + ntosnap++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } else if (XPnts[pointb].anchor > 0) { /* check distance to previously assigned anchor */ @@ -1113,6 +1181,7 @@ int Vect_snap_line(struct Map_info *Map, struct ilist *reflist, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= int nvertices; /* number of vertices */ >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -1121,6 +1190,11 @@ int Vect_snap_line(struct Map_info *Map, struct ilist *reflist, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int nvertices; /* number of vertices */ +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) char *XSegs = NULL; /* Array of segments */ NEW2 *New = NULL; /* Array of new points */ int anew = 0, nnew; /* allocated new points , number of new points */ @@ -1169,6 +1243,7 @@ int Vect_snap_line(struct Map_info *Map, struct ilist *reflist, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -1176,6 +1251,11 @@ int Vect_snap_line(struct Map_info *Map, struct ilist *reflist, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nvertices = 0; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) asegments = 0; /* Add all vertices and all segments of all reference lines @@ -1197,6 +1277,7 @@ int Vect_snap_line(struct Map_info *Map, struct ilist *reflist, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nvertices++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -1205,6 +1286,11 @@ int Vect_snap_line(struct Map_info *Map, struct ilist *reflist, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nvertices++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Box */ rect.boundary[0] = LPoints->x[v]; diff --git a/lib/vector/Vlib/write.c b/lib/vector/Vlib/write.c index 10730fe2174..154d02d4714 100644 --- a/lib/vector/Vlib/write.c +++ b/lib/vector/Vlib/write.c @@ -26,6 +26,7 @@ #include #include +<<<<<<< HEAD <<<<<<< HEAD static off_t write_dummy(struct Map_info *Map UNUSED, int type UNUSED, const struct line_pnts *points UNUSED, @@ -41,6 +42,14 @@ static off_t write_dummy(struct Map_info *Map, int type, <<<<<<< HEAD ======= ======= +======= +static off_t write_dummy(struct Map_info *Map, int type, + const struct line_pnts *points, + const struct line_cats *cats) +{ + G_warning("Vect_write_line() %s", _("for this format/level not supported")); +<<<<<<< HEAD +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return -1; } @@ -73,6 +82,7 @@ static int delete_dummy() { G_warning("Vect_delete_line() %s", _("for this format/level not supported")); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) return -1; } @@ -81,24 +91,42 @@ static off_t rewrite_dummy(struct Map_info *Map UNUSED, off_t line UNUSED, int type UNUSED, const struct line_pnts *points UNUSED, const struct line_cats *cats UNUSED) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) + return -1; +} + +static off_t rewrite_dummy(struct Map_info *Map, off_t line, int type, + const struct line_pnts *points, + const struct line_cats *cats) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_warning("Vect_rewrite_line() %s", _("for this format/level not supported")); return -1; } +<<<<<<< HEAD static int delete_dummy(struct Map_info *Map UNUSED, off_t line UNUSED) +======= +static int delete_dummy(struct Map_info *Map, off_t line) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_warning("Vect_delete_line() %s", _("for this format/level not supported")); return -1; } +<<<<<<< HEAD static int restore_dummy(struct Map_info *Map UNUSED, off_t offset UNUSED, off_t line UNUSED) ======= static int restore_dummy(struct Map_info *Map, off_t offset, off_t line) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int restore_dummy(struct Map_info *Map, off_t offset, off_t line) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_warning("Vect_restore_line() %s", _("for this format/level not supported")); @@ -107,26 +135,35 @@ static int restore_dummy(struct Map_info *Map, off_t offset, off_t line) #if !defined HAVE_OGR || !defined HAVE_POSTGRES <<<<<<< HEAD +<<<<<<< HEAD static int format(struct Map_info *Map UNUSED, off_t line UNUSED) ======= static int format(struct Map_info *Map, off_t line) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int format(struct Map_info *Map, off_t line) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_fatal_error(_("Requested format is not compiled in this version")); return 0; } +<<<<<<< HEAD <<<<<<< HEAD static int format2(struct Map_info *Map UNUSED, off_t offset UNUSED, off_t line UNUSED) ======= static int format2(struct Map_info *Map, off_t offset, off_t line) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int format2(struct Map_info *Map, off_t offset, off_t line) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_fatal_error(_("Requested format is not compiled in this version")); return 0; } +<<<<<<< HEAD <<<<<<< HEAD static off_t format_l(struct Map_info *Map UNUSED, int type UNUSED, const struct line_pnts *points UNUSED, @@ -136,11 +173,17 @@ static off_t format_l(struct Map_info *Map, int type, const struct line_pnts *points, const struct line_cats *cats) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static off_t format_l(struct Map_info *Map, int type, + const struct line_pnts *points, + const struct line_cats *cats) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_fatal_error(_("Requested format is not compiled in this version")); return 0; } +<<<<<<< HEAD <<<<<<< HEAD static off_t format_l2(struct Map_info *Map UNUSED, off_t line UNUSED, int type UNUSED, const struct line_pnts *points UNUSED, @@ -150,6 +193,11 @@ static off_t format_l2(struct Map_info *Map, off_t line, int type, const struct line_pnts *points, const struct line_cats *cats) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static off_t format_l2(struct Map_info *Map, off_t line, int type, + const struct line_pnts *points, + const struct line_cats *cats) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_fatal_error(_("Requested format is not compiled in this version")); return 0; @@ -159,6 +207,7 @@ static off_t format_l2(struct Map_info *Map, off_t line, int type, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static off_t (*Vect_write_line_array[][3])(struct Map_info *, int, const struct line_pnts *, const struct line_cats *) = { @@ -169,10 +218,17 @@ static off_t (*Vect_write_line_array[][3])() = { static off_t (*Vect_write_line_array[][3])() = { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +static off_t (*Vect_write_line_array[][3])() = { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= static off_t (*Vect_write_line_array[][3])(struct Map_info *, int, const struct line_pnts *, const struct line_cats *) = { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) {write_dummy, V1_write_line_nat, V2_write_line_nat} #ifdef HAVE_OGR , @@ -195,6 +251,7 @@ static off_t (*Vect_write_line_array[][3])(struct Map_info *, int, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static off_t (*Vect_rewrite_line_array[][3])(struct Map_info *, off_t, int, const struct line_pnts *, const struct line_cats *) = { @@ -205,10 +262,17 @@ static off_t (*Vect_rewrite_line_array[][3])() = { static off_t (*Vect_rewrite_line_array[][3])() = { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +static off_t (*Vect_rewrite_line_array[][3])() = { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= static off_t (*Vect_rewrite_line_array[][3])(struct Map_info *, off_t, int, const struct line_pnts *, const struct line_cats *) = { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) {rewrite_dummy, V1_rewrite_line_nat, V2_rewrite_line_nat} #ifdef HAVE_OGR , @@ -218,6 +282,7 @@ static off_t (*Vect_rewrite_line_array[][3])(struct Map_info *, off_t, int, , <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD {rewrite_dummy, format_l2, format_l2}, {rewrite_dummy, format_l2, format_l2} @@ -233,6 +298,14 @@ static off_t (*Vect_rewrite_line_array[][3])(struct Map_info *, off_t, int, {rewrite_dummy, format_l2, format_l2}, {rewrite_dummy, format_l2, format_l2} >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + {rewrite_dummy, format_l, format_l}, + {rewrite_dummy, format_l, format_l} +======= + {rewrite_dummy, format_l2, format_l2}, + {rewrite_dummy, format_l2, format_l2} +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif #ifdef HAVE_POSTGRES , @@ -241,6 +314,7 @@ static off_t (*Vect_rewrite_line_array[][3])(struct Map_info *, off_t, int, , <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD {rewrite_dummy, format_l2, format_l2} #endif @@ -248,11 +322,14 @@ static off_t (*Vect_rewrite_line_array[][3])(struct Map_info *, off_t, int, static int (*Vect_delete_line_array[][3])(struct Map_info *, off_t) = { ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) {rewrite_dummy, format_l, format_l} #endif }; static int (*Vect_delete_line_array[][3])() = { +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) {delete_dummy, V1_delete_line_nat, V2_delete_line_nat} #ifdef HAVE_OGR @@ -275,10 +352,18 @@ static int (*Vect_delete_line_array[][3])() = { ======= {rewrite_dummy, format_l2, format_l2} >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + {rewrite_dummy, format_l2, format_l2} +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif }; static int (*Vect_delete_line_array[][3])(struct Map_info *, off_t) = { +<<<<<<< HEAD +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) {delete_dummy, V1_delete_line_nat, V2_delete_line_nat} #ifdef HAVE_OGR , @@ -298,7 +383,15 @@ static int (*Vect_delete_line_array[][3])(struct Map_info *, off_t) = { #endif }; +<<<<<<< HEAD +static int (*Vect_restore_line_array[][3])(struct Map_info *, off_t, off_t) = { +======= +<<<<<<< HEAD +static int (*Vect_restore_line_array[][3])() = { +======= static int (*Vect_restore_line_array[][3])(struct Map_info *, off_t, off_t) = { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) {restore_dummy, V1_restore_line_nat, V2_restore_line_nat} #ifdef HAVE_OGR , @@ -306,8 +399,18 @@ static int (*Vect_restore_line_array[][3])(struct Map_info *, off_t, off_t) = { {restore_dummy, restore_dummy, restore_dummy} #else , +<<<<<<< HEAD + {restore_dummy, format2, format2}, + {restore_dummy, format2, format2} +======= +<<<<<<< HEAD + {restore_dummy, format, format}, + {restore_dummy, format, format} +======= {restore_dummy, format2, format2}, {restore_dummy, format2, format2} +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif #ifdef HAVE_POSTGRES , @@ -316,10 +419,16 @@ static int (*Vect_restore_line_array[][3])(struct Map_info *, off_t, off_t) = { , <<<<<<< HEAD {restore_dummy, format, format} +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= {restore_dummy, format2, format2} >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + {restore_dummy, format2, format2} +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #endif }; diff --git a/lib/vector/Vlib/write_pg.c b/lib/vector/Vlib/write_pg.c index 3b20287bf3a..f14bbc74709 100644 --- a/lib/vector/Vlib/write_pg.c +++ b/lib/vector/Vlib/write_pg.c @@ -2738,6 +2738,7 @@ int delete_face(const struct Map_info *Map, int area) - isolated edges <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD next left edge: -edge ======= @@ -2749,6 +2750,12 @@ int delete_face(const struct Map_info *Map, int area) ======= next left edge: -edge >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + next left edge: -edge +======= + next left edge: -edge +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) next right edge: edge - connected edges @@ -2758,6 +2765,7 @@ int delete_face(const struct Map_info *Map, int area) \param Map pointer to Map_info struct <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD \param line feature id ======= @@ -2769,6 +2777,12 @@ int delete_face(const struct Map_info *Map, int area) ======= \param line feature id >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + \param line feature id +======= + \param line feature id +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) \return 0 on success \return -1 on error diff --git a/lib/vector/dglib/tree.h b/lib/vector/dglib/tree.h index 4b4781d4008..123e27ed439 100644 --- a/lib/vector/dglib/tree.h +++ b/lib/vector/dglib/tree.h @@ -55,6 +55,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD extern void *dglTreeGetAllocator(void); ======= ======= @@ -64,6 +65,12 @@ extern void *dglTreeGetAllocator(); ======= extern void *dglTreeGetAllocator(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +extern void *dglTreeGetAllocator(); +======= +extern void *dglTreeGetAllocator(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* * Define a node as it is hosted in pNodeTree diff --git a/lib/vector/diglib/plus_struct.c b/lib/vector/diglib/plus_struct.c index 5971740ce3f..572e0afa6a9 100644 --- a/lib/vector/diglib/plus_struct.c +++ b/lib/vector/diglib/plus_struct.c @@ -772,6 +772,7 @@ int dig_Rd_Plus_head(struct gvfile *fp, struct Plus_head *ptr) else ptr->off_t_size = 4; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD if (sizeof(off_t) < (size_t)ptr->off_t_size) { @@ -784,6 +785,12 @@ int dig_Rd_Plus_head(struct gvfile *fp, struct Plus_head *ptr) ======= if (sizeof(off_t) < (size_t)ptr->off_t_size) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (sizeof(off_t) < ptr->off_t_size) { +======= + if (sizeof(off_t) < (size_t)ptr->off_t_size) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_warning(_("Vector exceeds supported file size limit")); return (-1); } diff --git a/lib/vector/diglib/portable.c b/lib/vector/diglib/portable.c index 1d24a1de435..9c262e46631 100644 --- a/lib/vector/diglib/portable.c +++ b/lib/vector/diglib/portable.c @@ -174,6 +174,7 @@ int dig__fread_port_O(off_t *buf, size_t cnt, struct gvfile *fp, if (Cur_Head->off_t_quick) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((size_t)nat_off_t == port_off_t_size) { ======= @@ -185,12 +186,19 @@ int dig__fread_port_O(off_t *buf, size_t cnt, struct gvfile *fp, ======= if ((size_t)nat_off_t == port_off_t_size) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (nat_off_t == port_off_t_size) { +======= + if ((size_t)nat_off_t == port_off_t_size) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ret = dig_fread(buf, port_off_t_size, cnt, fp); if (ret != (int)cnt) return 0; } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD else if ((size_t)nat_off_t > port_off_t_size) { ======= @@ -202,6 +210,12 @@ int dig__fread_port_O(off_t *buf, size_t cnt, struct gvfile *fp, ======= else if ((size_t)nat_off_t > port_off_t_size) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + else if (nat_off_t > port_off_t_size) { +======= + else if ((size_t)nat_off_t > port_off_t_size) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* read into buffer */ buf_alloc(cnt * port_off_t_size); ret = dig_fread(buffer, port_off_t_size, cnt, fp); @@ -231,6 +245,7 @@ int dig__fread_port_O(off_t *buf, size_t cnt, struct gvfile *fp, } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD else if ((size_t)nat_off_t < port_off_t_size) { ======= @@ -242,6 +257,12 @@ int dig__fread_port_O(off_t *buf, size_t cnt, struct gvfile *fp, ======= else if ((size_t)nat_off_t < port_off_t_size) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + else if (nat_off_t < port_off_t_size) { +======= + else if ((size_t)nat_off_t < port_off_t_size) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* should never happen */ G_fatal_error(_("Vector exceeds supported file size limit")); } @@ -249,6 +270,7 @@ int dig__fread_port_O(off_t *buf, size_t cnt, struct gvfile *fp, else { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((size_t)nat_off_t >= port_off_t_size) { ======= @@ -260,6 +282,12 @@ int dig__fread_port_O(off_t *buf, size_t cnt, struct gvfile *fp, ======= if ((size_t)nat_off_t >= port_off_t_size) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (nat_off_t >= port_off_t_size) { +======= + if ((size_t)nat_off_t >= port_off_t_size) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* read into buffer */ buf_alloc(cnt * port_off_t_size); ret = dig_fread(buffer, port_off_t_size, cnt, fp); @@ -288,6 +316,7 @@ int dig__fread_port_O(off_t *buf, size_t cnt, struct gvfile *fp, } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD else if ((size_t)nat_off_t < port_off_t_size) { ======= @@ -299,6 +328,12 @@ int dig__fread_port_O(off_t *buf, size_t cnt, struct gvfile *fp, ======= else if ((size_t)nat_off_t < port_off_t_size) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + else if (nat_off_t < port_off_t_size) { +======= + else if ((size_t)nat_off_t < port_off_t_size) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* should never happen */ G_fatal_error(_("Vector exceeds supported file size limit")); } @@ -702,6 +737,7 @@ int dig__fwrite_port_O(const off_t *buf, size_t cnt, struct gvfile *fp, if (Cur_Head->off_t_quick) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((size_t)nat_off_t == port_off_t_size) { if (dig_fwrite(buf, port_off_t_size, cnt, fp) == cnt) @@ -711,22 +747,31 @@ int dig__fwrite_port_O(const off_t *buf, size_t cnt, struct gvfile *fp, ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (nat_off_t == port_off_t_size) { if (dig_fwrite(buf, port_off_t_size, cnt, fp) == cnt) return 1; } else if (nat_off_t > port_off_t_size) { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if ((size_t)nat_off_t == port_off_t_size) { if (dig_fwrite(buf, port_off_t_size, cnt, fp) == cnt) return 1; } else if ((size_t)nat_off_t > port_off_t_size) { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) buf_alloc(cnt * port_off_t_size); c1 = (unsigned char *)buf; c2 = (unsigned char *)buffer; @@ -744,6 +789,7 @@ int dig__fwrite_port_O(const off_t *buf, size_t cnt, struct gvfile *fp, } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD else if ((size_t)nat_off_t < port_off_t_size) { ======= @@ -755,6 +801,12 @@ int dig__fwrite_port_O(const off_t *buf, size_t cnt, struct gvfile *fp, ======= else if ((size_t)nat_off_t < port_off_t_size) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + else if (nat_off_t < port_off_t_size) { +======= + else if ((size_t)nat_off_t < port_off_t_size) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* should never happen */ G_fatal_error("Vector exceeds supported file size limit"); } @@ -762,6 +814,7 @@ int dig__fwrite_port_O(const off_t *buf, size_t cnt, struct gvfile *fp, else { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((size_t)nat_off_t >= port_off_t_size) { ======= @@ -773,6 +826,12 @@ int dig__fwrite_port_O(const off_t *buf, size_t cnt, struct gvfile *fp, ======= if ((size_t)nat_off_t >= port_off_t_size) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (nat_off_t >= port_off_t_size) { +======= + if ((size_t)nat_off_t >= port_off_t_size) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) buf_alloc(cnt * port_off_t_size); c1 = (unsigned char *)buf; c2 = (unsigned char *)buffer; @@ -787,6 +846,7 @@ int dig__fwrite_port_O(const off_t *buf, size_t cnt, struct gvfile *fp, } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD else if ((size_t)nat_off_t < port_off_t_size) { ======= @@ -798,6 +858,12 @@ int dig__fwrite_port_O(const off_t *buf, size_t cnt, struct gvfile *fp, ======= else if ((size_t)nat_off_t < port_off_t_size) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + else if (nat_off_t < port_off_t_size) { +======= + else if ((size_t)nat_off_t < port_off_t_size) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* should never happen */ G_fatal_error(_("Vector exceeds supported file size limit")); } @@ -1094,6 +1160,7 @@ void dig_init_portable(struct Port_info *port, int byte_order) else port->off_t_quick = FALSE; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (size_t)nat_off_t; i++) { @@ -1106,6 +1173,12 @@ void dig_init_portable(struct Port_info *port, int byte_order) ======= for (i = 0; i < (size_t)nat_off_t; i++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (i = 0; i < nat_off_t; i++) { +======= + for (i = 0; i < (size_t)nat_off_t; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (port->byte_order == ENDIAN_BIG) port->off_t_cnvrt[i] = off_t_cnvrt[i]; else @@ -1137,6 +1210,7 @@ int dig_set_cur_port(struct Port_info *port) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD int dig__byte_order_out(void) ======= ======= @@ -1146,6 +1220,12 @@ int dig__byte_order_out() ======= int dig__byte_order_out(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int dig__byte_order_out() +======= +int dig__byte_order_out(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { if (dbl_order == ENDIAN_LITTLE) return (ENDIAN_LITTLE); diff --git a/lib/vector/diglib/spindex_rw.c b/lib/vector/diglib/spindex_rw.c index 725f2eaaa95..44caa7548e1 100644 --- a/lib/vector/diglib/spindex_rw.c +++ b/lib/vector/diglib/spindex_rw.c @@ -65,6 +65,7 @@ int dig_Wr_spidx_head(struct gvfile *fp, struct Plus_head *ptr) if (sizeof(off_t) > 4) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD off_t size; @@ -87,13 +88,28 @@ int dig_Wr_spidx_head(struct gvfile *fp, struct Plus_head *ptr) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) size = 145; /* max header size, see below */ size += ptr->Node_spidx->n_nodes * ptr->Node_spidx->nodesize; size += ptr->Line_spidx->n_nodes * ptr->Line_spidx->nodesize; size += ptr->Area_spidx->n_nodes * ptr->Area_spidx->nodesize; size += ptr->Isle_spidx->n_nodes * ptr->Isle_spidx->nodesize; +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + off_t size; + + size = 145; /* max header size, see below */ + size += (off_t)ptr->Node_spidx->n_nodes * ptr->Node_spidx->nodesize; + size += (off_t)ptr->Line_spidx->n_nodes * ptr->Line_spidx->nodesize; + size += (off_t)ptr->Area_spidx->n_nodes * ptr->Area_spidx->nodesize; + size += (off_t)ptr->Isle_spidx->n_nodes * ptr->Isle_spidx->nodesize; + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (size < PORT_INT_MAX) ptr->spidx_port.off_t_size = 4; else @@ -1206,6 +1222,7 @@ static void rtree_load_from_sidx(struct gvfile *fp, off_t rootpos, if (t->fd > -1) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD rtree_load_to_file(fp, rootpos, t, off_t_size); else @@ -1220,11 +1237,20 @@ static void rtree_load_from_sidx(struct gvfile *fp, off_t rootpos, else return rtree_load_to_memory(fp, rootpos, t, off_t_size); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + return rtree_load_to_file(fp, rootpos, t, off_t_size); + else + return rtree_load_to_memory(fp, rootpos, t, off_t_size); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= rtree_load_to_file(fp, rootpos, t, off_t_size); else rtree_load_to_memory(fp, rootpos, t, off_t_size); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /*! diff --git a/lib/vector/diglib/struct_alloc.c b/lib/vector/diglib/struct_alloc.c index 29d1b2b6c3c..0b88cff5a84 100644 --- a/lib/vector/diglib/struct_alloc.c +++ b/lib/vector/diglib/struct_alloc.c @@ -30,6 +30,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD struct P_node *dig_alloc_node(void) ======= ======= @@ -39,6 +40,12 @@ struct P_node *dig_alloc_node() ======= struct P_node *dig_alloc_node(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +struct P_node *dig_alloc_node() +======= +struct P_node *dig_alloc_node(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { struct P_node *Node; @@ -138,6 +145,7 @@ int dig_alloc_nodes(struct Plus_head *Plus, int add) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD struct P_line *dig_alloc_line(void) ======= ======= @@ -147,6 +155,12 @@ struct P_line *dig_alloc_line() ======= struct P_line *dig_alloc_line(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +struct P_line *dig_alloc_line() +======= +struct P_line *dig_alloc_line(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { struct P_line *Line; @@ -288,6 +302,7 @@ int dig_alloc_isles(struct Plus_head *Plus, int add) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD struct P_area *dig_alloc_area(void) ======= ======= @@ -297,6 +312,12 @@ struct P_area *dig_alloc_area() ======= struct P_area *dig_alloc_area(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +struct P_area *dig_alloc_area() +======= +struct P_area *dig_alloc_area(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { struct P_area *Area; @@ -334,6 +355,7 @@ void dig_free_area(struct P_area *Area) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD struct P_isle *dig_alloc_isle(void) ======= ======= @@ -343,6 +365,12 @@ struct P_isle *dig_alloc_isle() ======= struct P_isle *dig_alloc_isle(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +struct P_isle *dig_alloc_isle() +======= +struct P_isle *dig_alloc_isle(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { struct P_isle *Isle; diff --git a/lib/vector/rtree/docs/README.grass b/lib/vector/rtree/docs/README.grass index e5fc95e5768..81e39f46662 100644 --- a/lib/vector/rtree/docs/README.grass +++ b/lib/vector/rtree/docs/README.grass @@ -13,9 +13,12 @@ Changes done in GRASS: - added mail from Daniel Green is in 'MAILS' - few modifications to get rid of compiler warnings, but warnings like: index.c:277: warning: `tmp_nptr' might be used uninitialized in this function +<<<<<<< HEAD <<<<<<< HEAD were left because need deeper revision if may cause problems, instead of blindly init to 0/NULL ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) were left because need deeper revision if may cause problems, insetad of blindly init to 0/NULL >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) - '//' comments -> '/* */' diff --git a/lib/vector/vedit/render.c b/lib/vector/vedit/render.c index b879e98305b..9d6959a4f23 100644 --- a/lib/vector/vedit/render.c +++ b/lib/vector/vedit/render.c @@ -35,6 +35,7 @@ static struct _state { static struct robject *draw_line(struct Map_info *, int, int); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static struct robject *draw_line_vertices(void); ======= static struct robject *draw_line_vertices(); @@ -45,6 +46,12 @@ static struct robject *draw_line_vertices(); ======= static struct robject *draw_line_vertices(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static struct robject *draw_line_vertices(); +======= +static struct robject *draw_line_vertices(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static void draw_line_nodes(struct Map_info *, int, int, struct robject_list *); static int draw_line_dir(struct robject_list *, int); static void list_append(struct robject_list *, struct robject *); diff --git a/lib/vector/vedit/vertex.c b/lib/vector/vedit/vertex.c index deb2e798911..b85819818bb 100644 --- a/lib/vector/vedit/vertex.c +++ b/lib/vector/vedit/vertex.c @@ -162,6 +162,7 @@ int Vedit_move_vertex(struct Map_info *Map, struct Map_info **BgMap, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nlines_modified++; @@ -172,6 +173,12 @@ int Vedit_move_vertex(struct Map_info *Map, struct Map_info **BgMap, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + + nlines_modified++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } /* for each selected line */ @@ -266,6 +273,7 @@ int Vedit_add_vertex(struct Map_info *Map, struct ilist *List, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nlines_modified++; @@ -276,6 +284,12 @@ int Vedit_add_vertex(struct Map_info *Map, struct ilist *List, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + + nlines_modified++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } /* for each line */ diff --git a/ps/ps.map/do_geogrid.c b/ps/ps.map/do_geogrid.c index 67f5f1e9597..00f476e93f7 100644 --- a/ps/ps.map/do_geogrid.c +++ b/ps/ps.map/do_geogrid.c @@ -78,6 +78,7 @@ int do_geogrid(void) g = floor(north / grid) * grid; e1 = east; <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (; g >= south; g -= grid) { ======= @@ -89,6 +90,12 @@ int do_geogrid(void) ======= for (; g >= south; g -= grid) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (j = 0; g >= south; j++, g -= grid) { +======= + for (; g >= south; g -= grid) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (g == north || g == south) continue; for (ll = 0; ll < SEGS; ll++) { @@ -118,6 +125,7 @@ int do_geogrid(void) g = floor(east / grid) * grid; n1 = north; <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (; g > west; g -= grid) { ======= @@ -129,6 +137,12 @@ int do_geogrid(void) ======= for (; g > west; g -= grid) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (j = 0; g > west; j++, g -= grid) { +======= + for (; g > west; g -= grid) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (g == east || g == west) continue; for (ll = 0; ll < SEGS; ll++) { diff --git a/ps/ps.map/do_grid.c b/ps/ps.map/do_grid.c index 0b70f2d2c29..1b778b813ea 100644 --- a/ps/ps.map/do_grid.c +++ b/ps/ps.map/do_grid.c @@ -90,6 +90,7 @@ int do_grid_cross(void) g_north = floor(PS.w.north / PS.grid) * PS.grid; g_east = floor(PS.w.east / PS.grid) * PS.grid; <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (; g_north >= PS.w.south; g_north -= PS.grid) { for (; g_east > PS.w.west; g_east -= PS.grid) { @@ -104,6 +105,14 @@ int do_grid_cross(void) for (; g_north >= PS.w.south; g_north -= PS.grid) { for (; g_east > PS.w.west; g_east -= PS.grid) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (j = 0; g_north >= PS.w.south; j++, g_north -= PS.grid) { + for (k = 0; g_east > PS.w.west; k++, g_east -= PS.grid) { +======= + for (; g_north >= PS.w.south; g_north -= PS.grid) { + for (; g_east > PS.w.west; g_east -= PS.grid) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (g_north == PS.w.north || g_north == PS.w.south) continue; diff --git a/ps/ps.map/ps.map.html b/ps/ps.map/ps.map.html index f9097d00378..12c012e4da8 100644 --- a/ps/ps.map/ps.map.html +++ b/ps/ps.map/ps.map.html @@ -10,6 +10,7 @@

    DESCRIPTION

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD

    NOTES

    ======= ======= @@ -19,6 +20,12 @@

    NOTES

    =======

    NOTES

    >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +

    NOTES

    +======= +

    NOTES

    +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) The order of commands is generally unimportant but may affect how some layers are drawn. For example to plot vpoints above vareas list the diff --git a/ps/ps.map/r_text.c b/ps/ps.map/r_text.c index 6dc00826c7b..1fa3de53112 100644 --- a/ps/ps.map/r_text.c +++ b/ps/ps.map/r_text.c @@ -20,6 +20,7 @@ #define UPPER 1 #define CENTER 2 +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD ======= @@ -32,6 +33,13 @@ extern int get_color_number(); >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +extern char *get_color_name(); +extern int get_color_number(); + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static char *help[] = {"font fontname", "color color", "width #", diff --git a/ps/ps.map/scan_gis.c b/ps/ps.map/scan_gis.c index 774a26060f6..57932212209 100644 --- a/ps/ps.map/scan_gis.c +++ b/ps/ps.map/scan_gis.c @@ -20,6 +20,7 @@ int scan_gis(char *element, char *desc, char *key, char *data, char *name, if (isatty(0)) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD G_list_element(element, desc, mapset, NULL); ======= @@ -31,6 +32,12 @@ int scan_gis(char *element, char *desc, char *key, char *data, char *name, ======= G_list_element(element, desc, mapset, NULL); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + G_list_element(element, desc, mapset, (int (*)())NULL); +======= + G_list_element(element, desc, mapset, NULL); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) reject(); return 0; } diff --git a/python/grass/temporal/abstract_space_time_dataset.py b/python/grass/temporal/abstract_space_time_dataset.py index 8e247bcdf43..48e205fdb9d 100644 --- a/python/grass/temporal/abstract_space_time_dataset.py +++ b/python/grass/temporal/abstract_space_time_dataset.py @@ -1417,6 +1417,7 @@ def get_registered_maps_as_objects_with_gaps( :param where: The SQL where statement to select a subset of the registered maps without "WHERE" :param dbif: The database interface to be used +<<<<<<< HEAD <<<<<<< HEAD :param spatial_extent: Spatial extent dict and projection information e.g. from g.region -ug3 with GRASS GIS region keys @@ -1428,13 +1429,18 @@ def get_registered_maps_as_objects_with_gaps( "is_contained": maps that are fully within the provided spatial extent "contains": maps that contain (fully cover) the provided spatial extent ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) :param spatial_extent: Return only maps with the provided spatial relation to the given spatial extent (requires spatial_relation parameter) :param spatial_relation: Return only maps with the given spatial relation to the provided spatial extent (requires spatial_extent parameter) +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) :return: ordered object list, in case nothing found None is returned """ @@ -1504,6 +1510,7 @@ def get_registered_maps_as_objects_with_temporal_topology( :param order: The SQL order statement to be used to order the objects in the list without "ORDER BY" :param dbif: The database interface to be used +<<<<<<< HEAD <<<<<<< HEAD :param spatial_extent: Spatial extent dict and projection information e.g. from g.region -ug3 with GRASS GIS region keys @@ -1515,13 +1522,18 @@ def get_registered_maps_as_objects_with_temporal_topology( "is_contained": maps that are fully within the provided spatial extent "contains": maps that contain (fully cover) the provided spatial extent ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) :param spatial_extent: Return only maps with the provided spatial relation to the given spatial extent (requires spatial_relation parameter) :param spatial_relation: Return only maps with the given spatial relation to the provided spatial extent (requires spatial_extent parameter) +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) :return: The ordered map object list, In case nothing found None is returned @@ -1567,6 +1579,7 @@ def get_registered_maps_as_objects( :param order: The SQL order statement to be used to order the objects in the list without "ORDER BY" :param dbif: The database interface to be used +<<<<<<< HEAD <<<<<<< HEAD :param spatial_extent: Spatial extent dict and projection information e.g. from g.region -ug3 with GRASS GIS region keys @@ -1578,13 +1591,18 @@ def get_registered_maps_as_objects( "is_contained": maps that are fully within the provided spatial extent "contains": maps that contain (fully cover) the provided spatial extent ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) :param spatial_extent: Return only maps with the provided spatial relation to the given spatial extent (requires spatial_relation parameter) :param spatial_relation: Return only maps with the given spatial relation to the provided spatial extent (requires spatial_extent parameter) +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) :return: The ordered map object list, In case nothing is found, an empty list is returned @@ -1658,9 +1676,19 @@ def get_registered_maps_as_objects( ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) # use all columns +<<<<<<< HEAD rows = self.get_registered_maps( None, where, order, dbif, spatial_extent, spatial_relation ) +======= +<<<<<<< HEAD + rows = self.get_registered_maps(None, where, order, dbif) +======= + rows = self.get_registered_maps( + None, where, order, dbif, spatial_extent, spatial_relation + ) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if rows is not None: has_bt_columns = False @@ -1809,11 +1837,15 @@ def _update_where_statement_by_spatial_extent( :param str where: SQL WHERE statement to be updated :param dict spatial_extent: Spatial extent dict and projection information e.g. from g.region -ug3 +<<<<<<< HEAD <<<<<<< HEAD :param str spatial_relation: Spatial relation to the provided ======= :param dict spatial_relation: Spatial relation to the provided >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + :param dict spatial_relation: Spatial relation to the provided +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) spatial extent as a string with one of the following values: "overlaps": maps that spatially overlap ("intersect") within the provided spatial extent @@ -1826,6 +1858,7 @@ def _update_where_statement_by_spatial_extent( >>> import grass.script as gs >>> where = None >>> spatial_extent = gs.parse_command("g.region", flags="ug3") +<<<<<<< HEAD <<<<<<< HEAD >>> _update_where_statement_by_spatial_extent( ... where, spatial_extent, "overlaps" @@ -1833,6 +1866,9 @@ def _update_where_statement_by_spatial_extent( ======= >>> _update_where_statement_by_spatial_extent(where, spatial_extent, "overlaps") >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + >>> _update_where_statement_by_spatial_extent(where, spatial_extent, "overlaps") +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ((north > 0 AND south < 1 AND east > 0 AND west < 1)) """ @@ -1848,12 +1884,16 @@ def _update_where_statement_by_spatial_extent( self.msgr.error( _( "Invalid spatial relation <{}> requested." +<<<<<<< HEAD <<<<<<< HEAD "Only values 'overlaps', 'is_contained', and 'contains' are \ allowed." ======= "Only values 'overlaps', 'is_contained', and 'contains' are allowed." >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + "Only values 'overlaps', 'is_contained', and 'contains' are allowed." +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ).format(spatial_relation) ) raise @@ -1886,7 +1926,11 @@ def _update_where_statement_by_spatial_extent( ======= spatial_where_template += " AND top > {b}" " AND bottom < {t}" <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> b2351aab26 (r.horizon manual - fix typo (#2794)) +======= +<<<<<<< HEAD +>>>>>>> 5247cc90df (r.horizon manual - fix typo (#2794)) elif spatial_relation == "is_contained": spatial_where_template += " AND top <= {t} AND bottom >= {b}" elif spatial_relation == "contains": @@ -1895,12 +1939,20 @@ def _update_where_statement_by_spatial_extent( ======= spatial_where_template += " AND top >= {t}" " AND bottom <= {b}" ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) elif spatial_relation == "is_contained": spatial_where_template += " AND top <= {t}" " AND bottom >= {b}" elif spatial_relation == "contains": spatial_where_template += " AND top >= {t}" " AND bottom <= {b}" +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +<<<<<<< HEAD >>>>>>> b2351aab26 (r.horizon manual - fix typo (#2794)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +>>>>>>> 5247cc90df (r.horizon manual - fix typo (#2794)) spatial_where_template += ")" spatial_where_list = [spatial_where_template.format(**spatial_extent)] @@ -1969,7 +2021,11 @@ def get_registered_maps( objects in the list without "ORDER BY" :param dbif: The database interface to be used <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> ab7a7d8f0a (r.horizon manual - fix typo (#2794)) +======= +<<<<<<< HEAD +>>>>>>> 17e5fe5619 (r.horizon manual - fix typo (#2794)) :param spatial_extent: Spatial extent dict and projection information e.g. from g.region -ug3 with GRASS GIS region keys "n", "s", "e", "w", "b", "t", and "projection". @@ -1983,14 +2039,22 @@ def get_registered_maps( :param dbif: The database interface to be used ======= ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) :param spatial_extent: Return only maps with the provided spatial relation to the given spatial extent (requires spatial_relation parameter) :param spatial_relation: Return only maps with the given spatial relation to the provided spatial extent (requires spatial_extent parameter) +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +<<<<<<< HEAD >>>>>>> ab7a7d8f0a (r.horizon manual - fix typo (#2794)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +>>>>>>> 17e5fe5619 (r.horizon manual - fix typo (#2794)) :return: SQL rows of all registered maps grouped by the columns given in the group option, in case no maps are found, None is returned @@ -2031,6 +2095,7 @@ def get_registered_maps( if self.semantic_label: where = self._update_where_statement_by_semantic_label(where) <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD # filter by spatial extent @@ -2042,6 +2107,9 @@ def get_registered_maps( >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) <<<<<<< HEAD sql = "SELECT %s FROM %s WHERE %s.id IN (SELECT id FROM %s)" % ( @@ -2056,7 +2124,14 @@ def get_registered_maps( where = self._update_where_statement_by_spatial_extent( where, spatial_extent, spatial_relation ) +<<<<<<< HEAD >>>>>>> ab7a7d8f0a (r.horizon manual - fix typo (#2794)) +======= +<<<<<<< HEAD +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +>>>>>>> 17e5fe5619 (r.horizon manual - fix typo (#2794)) if where is not None and where != "": sql += " AND (%s)" % (where.split(";")[0]) diff --git a/python/libgrass_interface_generator/Makefile b/python/libgrass_interface_generator/Makefile index 4c2df788015..a39168ece3c 100644 --- a/python/libgrass_interface_generator/Makefile +++ b/python/libgrass_interface_generator/Makefile @@ -40,6 +40,7 @@ imagery_HDRS = imagery.h defs/imagery.h <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD vector_HDRS = vector.h defs/vector.h vect/dig_structs.h vect/dig_defines.h vect/dig_externs.h ======= vector_HDRS = vector.h defs/vector.h vect/dig_structs.h vect/dig_defines.h vect/dig_externs.h @@ -50,6 +51,12 @@ vector_HDRS = vector.h defs/vector.h vect/dig_structs.h vect/dig_defines.h v ======= vector_HDRS = vector.h defs/vector.h vect/dig_structs.h vect/dig_defines.h vect/dig_externs.h >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +vector_HDRS = vector.h defs/vector.h vect/dig_structs.h vect/dig_defines.h vect/dig_externs.h +======= +vector_HDRS = vector.h defs/vector.h vect/dig_structs.h vect/dig_defines.h vect/dig_externs.h +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) rtree_HDRS = rtree.h display_HDRS = display.h defs/display.h stats_HDRS = stats.h defs/stats.h diff --git a/python/libgrass_interface_generator/README.md b/python/libgrass_interface_generator/README.md index 90fabdb098f..f7bd40ee115 100644 --- a/python/libgrass_interface_generator/README.md +++ b/python/libgrass_interface_generator/README.md @@ -9,6 +9,7 @@ Currently installed version: <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ### How to update ctypesgen version 1. Replace the GRASS directory `python/libgrass_interface_generator/ctypesgen` @@ -16,21 +17,30 @@ Currently installed version: ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ### How to update ctypesgen version 1. Replace the GRASS directory `python/libgrass_interface_generator/ctypesgen` with the `ctypesgen` directory from ctypesgen source directory. <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= ### How to update ctypesgen version 1. Replace the GRASS directory `python/libgrass_interface_generator/ctypesgen` with the `ctypesgen` directory from ctypesgen source directory. +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) 2. Replace `python/grass/ctypes/run.py` with `run.py` from ctypesgen source directory. 3. Apply the patches below. 4. Update this document with info on installed ctypesgen version. @@ -41,6 +51,7 @@ Currently installed version: <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD It is highly encouraged to report [upstreams](https://github.com/ctypesgen/ctypesgen) necessary patches for GRASS. ======= @@ -53,6 +64,13 @@ It is highly encouraged to report [upstreams](https://github.com/ctypesgen/ctype It is highly encouraged to report [upstreams](https://github.com/ctypesgen/ctypesgen) necessary patches for GRASS. >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +It is highly encouraged to report [upstreams](https://github.com/ctypesgen/ctypesgen) necessary patches for GRASS. +======= +It is highly encouraged to report [upstreams](https://github.com/ctypesgen/ctypesgen) +necessary patches for GRASS. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #### Ctypes "unnamed structure member with 0 bit size"-patch @@ -89,6 +107,7 @@ generated files. <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -97,6 +116,11 @@ generated files. ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ```diff --- ctypesgen/printer_python/printer.py.orig +++ ctypesgen/printer_python/printer.py @@ -225,6 +249,7 @@ generated files. <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -233,6 +258,11 @@ generated files. ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #### Windows specific patches diff --git a/raster/r.basins.fill/r.basins.fill.html b/raster/r.basins.fill/r.basins.fill.html index 660424dff5f..8a7f5d5d3da 100644 --- a/raster/r.basins.fill/r.basins.fill.html +++ b/raster/r.basins.fill/r.basins.fill.html @@ -52,6 +52,7 @@

    AUTHORS


    <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Larry Band, Dept. of Geography, University of Toronto, Canada ======= Larry Band, Dept. of Geography, University of Toronto, Canada @@ -62,3 +63,9 @@

    AUTHORS

    ======= Larry Band, Dept. of Geography, University of Toronto, Canada >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Larry Band, Dept. of Geography, University of Toronto, Canada +======= +Larry Band, Dept. of Geography, University of Toronto, Canada +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.carve/r.carve.html b/raster/r.carve/r.carve.html index 694ff9f10a4..120f18728c5 100644 --- a/raster/r.carve/r.carve.html +++ b/raster/r.carve/r.carve.html @@ -133,6 +133,7 @@

    SEE ALSO

    AUTHORS

    +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD ======= @@ -141,5 +142,11 @@

    AUTHORS

    >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +

    AUTHORS

    + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Bill Brown (GMSL)
    GRASS 6 update: Brad Douglas diff --git a/raster/r.clump/minsize.c b/raster/r.clump/minsize.c index 4a88e3b9fc2..c675824a846 100644 --- a/raster/r.clump/minsize.c +++ b/raster/r.clump/minsize.c @@ -268,6 +268,7 @@ static int find_best_neighbour(int bfd, int nin, DCELL *rng, int cfd, int csize, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= count++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -276,6 +277,11 @@ static int find_best_neighbour(int bfd, int nin, DCELL *rng, int cfd, int csize, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + count++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) rclist_add(&rilist, rown, coln); if (*rowmin > rown) *rowmin = rown; diff --git a/raster/r.coin/format.c b/raster/r.coin/format.c index ffd38fdd06c..b37120fa421 100644 --- a/raster/r.coin/format.c +++ b/raster/r.coin/format.c @@ -27,6 +27,7 @@ int format_double(double v, char *buf, int n) sprintf(fmt, "%%%d.2lf", n); sprintf(buf, fmt, v); +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD for (k = n; (ssize_t)strlen(buf) > n; k--) { @@ -39,6 +40,12 @@ int format_double(double v, char *buf, int n) ======= for (k = n; (ssize_t)strlen(buf) > n; k--) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (k = n; strlen(buf) > n; k--) { +======= + for (k = n; (ssize_t)strlen(buf) > n; k--) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) sprintf(fmt, "%%%d.%dg", n, k); sprintf(buf, fmt, v); } diff --git a/raster/r.compress/r.compress.html b/raster/r.compress/r.compress.html index 0a9cca05368..ea14afce6e0 100644 --- a/raster/r.compress/r.compress.html +++ b/raster/r.compress/r.compress.html @@ -130,14 +130,18 @@

    COMPRESSION ALGORITHM DETAILS

    ZLIB
    <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
    ZLIB's deflate is the default compression method for all raster maps, if ZSTD is not available. GRASS GIS 8 uses by default 1 as ZLIB compression level which is the best compromise between speed and compression ratio, also when compared to other available compression methods. Valid levels are in the range [1, 9] and can be set with the <<<<<<< HEAD +<<<<<<< HEAD =======
    ZLIB's deflate is the default compression method for all raster maps, if ZSTD is not available. GRASS GIS 8 uses by default 1 as ZLIB @@ -147,6 +151,8 @@

    COMPRESSION ALGORITHM DETAILS

    >>>>>>> 73a1a8ce38 (Programmer's manual: update GRASS GIS arch drawing (#1610)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) environment variable GRASS_ZLIB_LEVEL.
    LZ4
    LZ4 is a very fast compression method, about as fast as no diff --git a/raster/r.contour/r.contour.html b/raster/r.contour/r.contour.html index 1120f1a9e04..3401236b55e 100644 --- a/raster/r.contour/r.contour.html +++ b/raster/r.contour/r.contour.html @@ -27,11 +27,15 @@

    NOTES

    EXAMPLES

    +<<<<<<< HEAD <<<<<<< HEAD In the Spearfish dataset, produce a vector contour map from input raster elevation.dem ======= In the Spearfish location, produce a vector contour map from input raster elevation.dem >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +In the Spearfish location, produce a vector contour map from input raster elevation.dem +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) with contour levels from 1000m to 2000m, 100m contour step, and a minimum of 200 input raster points contributing to the contour line: diff --git a/raster/r.cost/r.cost.html b/raster/r.cost/r.cost.html index f75f61d53e6..6b4eae5d7f6 100644 --- a/raster/r.cost/r.cost.html +++ b/raster/r.cost/r.cost.html @@ -123,11 +123,15 @@

    OPTIONS

  • Invert the sign of the distances with r.mapcalc because for the solver smaller is better, and here we want to get the center of an area with multiple directions
  • +<<<<<<< HEAD <<<<<<< HEAD
  • Use these negative distances as solver for a second pass of =======
  • Use thise negative distances as solver for a second pass of >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +
  • Use thise negative distances as solver for a second pass of +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) r.cost
  • Extract paths again with r.path to get a geometrically optimized solution
  • diff --git a/raster/r.cross/r.cross.html b/raster/r.cross/r.cross.html index 7264f3c3436..a3938d2f068 100644 --- a/raster/r.cross/r.cross.html +++ b/raster/r.cross/r.cross.html @@ -9,6 +9,7 @@

    DESCRIPTION

    OPTIONS

    +<<<<<<< HEAD <<<<<<< HEAD

    With the -z flag NULL values are not crossed. @@ -20,6 +21,8 @@

    OPTIONS

    ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) The program will be run non-interactively if the user specifies the names of between 2-10 raster map layers be used as input, and the name of a raster map layer to hold program output. @@ -33,7 +36,10 @@

    OPTIONS

    would cause 3 categories to be generated instead of 5.

    +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) If the -z flag is not specified, then map layer combinations in which some values are NULL will be assigned a unique category value in the resulting output map. diff --git a/raster/r.external/testsuite/data/generate_data.sh b/raster/r.external/testsuite/data/generate_data.sh index 419f776d2f7..acba0cd82a4 100755 --- a/raster/r.external/testsuite/data/generate_data.sh +++ b/raster/r.external/testsuite/data/generate_data.sh @@ -20,6 +20,7 @@ r3.out.netcdf input=elevation3d output=elevation3d.nc <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -28,3 +29,8 @@ r3.out.netcdf input=elevation3d output=elevation3d.nc >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.fill.dir/tinf.c b/raster/r.fill.dir/tinf.c index 16e07f08421..c002420f5e7 100644 --- a/raster/r.fill.dir/tinf.c +++ b/raster/r.fill.dir/tinf.c @@ -14,6 +14,7 @@ int (*is_null)(void *); <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD size_t (*bpe)(void); void *(*get_max)(void *, void *); void *(*get_min)(void *, void *); @@ -22,22 +23,31 @@ void *(*get_buf)(void); ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) size_t (*bpe)(); void *(*get_max)(void *, void *); void *(*get_min)(void *, void *); void (*get_row)(int, void *, int); void *(*get_buf)(); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= size_t (*bpe)(void); void *(*get_max)(void *, void *); void *(*get_min)(void *, void *); void (*get_row)(int, void *, int); void *(*get_buf)(void); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void (*put_row)(int, void *); double (*slope)(void *, void *, double); void (*set_min)(void *); diff --git a/raster/r.fill.dir/tinf.h b/raster/r.fill.dir/tinf.h index 0dde8e9e19b..da2f7b26a67 100644 --- a/raster/r.fill.dir/tinf.h +++ b/raster/r.fill.dir/tinf.h @@ -68,6 +68,7 @@ extern int (*is_null)(void *); <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD extern size_t (*bpe)(void); extern void *(*get_max)(void *, void *); extern void *(*get_min)(void *, void *); @@ -76,22 +77,31 @@ extern void *(*get_buf)(void); ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) extern size_t (*bpe)(); extern void *(*get_max)(void *, void *); extern void *(*get_min)(void *, void *); extern void (*get_row)(int, void *, int); extern void *(*get_buf)(); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= extern size_t (*bpe)(void); extern void *(*get_max)(void *, void *); extern void *(*get_min)(void *, void *); extern void (*get_row)(int, void *, int); extern void *(*get_buf)(void); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) extern void (*put_row)(int, void *); extern double (*slope)(void *, void *, double); extern void (*set_min)(void *); diff --git a/raster/r.fill.stats/main.c b/raster/r.fill.stats/main.c index a2be2b023ef..276de516993 100644 --- a/raster/r.fill.stats/main.c +++ b/raster/r.fill.stats/main.c @@ -164,6 +164,7 @@ void print_weights_matrix(long int rows, long int cols) { int i, j; <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD char weight_matrix_line_buf[WEIGHT_MATRIX_LINE_LENGTH + 1]; char weight_matrix_weight_buf[WEIGHT_MATRIX_LINE_LENGTH + 1]; @@ -172,6 +173,12 @@ void print_weights_matrix(long int rows, long int cols) ======= size_t weight_matrix_line_length = 80; >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + int weight_matrix_line_length = 80; +======= + size_t weight_matrix_line_length = 80; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) char weight_matrix_line_buf[weight_matrix_line_length + 1]; char weight_matrix_weight_buf[weight_matrix_line_length + 1]; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) diff --git a/raster/r.fill.stats/r.fill.stats.html b/raster/r.fill.stats/r.fill.stats.html index e6cb22fb030..ad74959bc21 100644 --- a/raster/r.fill.stats/r.fill.stats.html +++ b/raster/r.fill.stats/r.fill.stats.html @@ -516,6 +516,7 @@

    AUTHOR

    Benjamin Ducke <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= <<<<<<< HEAD @@ -524,3 +525,8 @@

    AUTHOR

    >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.flow/aspect.h b/raster/r.flow/aspect.h index c582e093a7e..29fc86ff16d 100644 --- a/raster/r.flow/aspect.h +++ b/raster/r.flow/aspect.h @@ -8,6 +8,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD DCELL aspect_fly(DCELL *, DCELL *, DCELL *, double /* n, c, s, d */); ======= DCELL aspect_fly(/* n, c, s, d */); @@ -18,3 +19,9 @@ DCELL aspect_fly(/* n, c, s, d */); ======= DCELL aspect_fly(DCELL *, DCELL *, DCELL *, double /* n, c, s, d */); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +DCELL aspect_fly(/* n, c, s, d */); +======= +DCELL aspect_fly(DCELL *, DCELL *, DCELL *, double /* n, c, s, d */); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.flow/mem.h b/raster/r.flow/mem.h index 59fe921db6a..a98aa227044 100644 --- a/raster/r.flow/mem.h +++ b/raster/r.flow/mem.h @@ -28,6 +28,7 @@ void deallocate_heap(void); <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void put_row_seg(layer, int /* l, row */); ======= void put_row_seg(/* l, row */); @@ -38,6 +39,12 @@ void put_row_seg(/* l, row */); ======= void put_row_seg(layer, int /* l, row */); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void put_row_seg(/* l, row */); +======= +void put_row_seg(layer, int /* l, row */); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #define get_row(l, row) \ ((parm.seg && (Segment_flush(l.seg) < 1 || \ diff --git a/raster/r.geomorphon/geom.c b/raster/r.geomorphon/geom.c index 6a5c2406b72..2b5c7c83e85 100644 --- a/raster/r.geomorphon/geom.c +++ b/raster/r.geomorphon/geom.c @@ -222,6 +222,7 @@ float variance(float *elevation, int pattern_size) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void radial2cartesian(PATTERN *pattern) ======= int radial2cartesian(PATTERN *pattern) @@ -232,6 +233,12 @@ int radial2cartesian(PATTERN *pattern) ======= void radial2cartesian(PATTERN *pattern) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int radial2cartesian(PATTERN *pattern) +======= +void radial2cartesian(PATTERN *pattern) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { /* this function converts radial coordinates of geomorphon * (assuming center as 0,0) to cartezian coordinates diff --git a/raster/r.grow.distance/r.grow.distance.html b/raster/r.grow.distance/r.grow.distance.html index fce066992b7..9cb079b20d3 100644 --- a/raster/r.grow.distance/r.grow.distance.html +++ b/raster/r.grow.distance/r.grow.distance.html @@ -61,10 +61,14 @@

    NOTES

    The Geodesic metric is calculated as geodesic distance, to <<<<<<< HEAD +<<<<<<< HEAD be used only in latitude-longitude coordinate reference system. It is recommended ======= be used only in latitude-longitude locations. It is recommended >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +be used only in latitude-longitude locations. It is recommended +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) to use it along with the -m flag in order to output distances in meters instead of map units. diff --git a/raster/r.gwflow/r.gwflow.html b/raster/r.gwflow/r.gwflow.html index 5eae1359f02..b3ce8fd3463 100644 --- a/raster/r.gwflow/r.gwflow.html +++ b/raster/r.gwflow/r.gwflow.html @@ -5,8 +5,11 @@

    DESCRIPTION

    raster maps and the current region settings. All initial and boundary conditions must be provided as <<<<<<< HEAD +<<<<<<< HEAD raster maps. The unit of the current project's coordinate reference system must be meters. ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) raster maps. The unit in the location must be meters. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))

    This module is sensitive to mask settings. All cells which are outside the mask diff --git a/raster/r.horizon/main.c b/raster/r.horizon/main.c index 5967eb2a511..52dc3921aa6 100644 --- a/raster/r.horizon/main.c +++ b/raster/r.horizon/main.c @@ -1377,6 +1377,7 @@ void calculate_point_mode(const Settings *settings, const Geometry *geometry, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD origin_point.z_orig = z[yindex][xindex]; G_debug(1, "yindex: %d, xindex %d, z_orig %.2f", yindex, xindex, @@ -1397,6 +1398,12 @@ void calculate_point_mode(const Settings *settings, const Geometry *geometry, ======= tanh0 = -INFINITY; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + tanh0 = -1.0 / 0.0; /* -inf */ +======= + tanh0 = -INFINITY; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) length = 0; height = searching(); @@ -1414,7 +1421,15 @@ double calculate_shadow_onedirection(double shadow_angle) return shadow_angle; } +<<<<<<< HEAD void calculate_shadow(void) +======= +<<<<<<< HEAD +void calculate_shadow() +======= +void calculate_shadow(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { double dfr_rad; @@ -1692,6 +1707,7 @@ void calculate_shadow(void) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD int new_point(const Geometry *geometry, const OriginPoint *origin_point, const OriginAngle *origin_angle, SearchPoint *search_point, HorizonProperties *horizon) @@ -1703,6 +1719,12 @@ int new_point() ======= int new_point(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int new_point() +======= +int new_point(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { int iold = search_point->ip; int jold = search_point->jp; @@ -1774,6 +1796,7 @@ int new_point(void) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD int test_low_res(const Geometry *geometry, const OriginPoint *origin_point, const OriginAngle *origin_angle, SearchPoint *search_point, const HorizonProperties *horizon) @@ -1785,6 +1808,12 @@ int test_low_res() ======= int test_low_res(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int test_low_res() +======= +int test_low_res(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { int iold100 = search_point->ip100; int jold100 = search_point->jp100; @@ -1941,6 +1970,7 @@ int test_low_res(void) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD HorizonProperties horizon_height(const Geometry *geometry, const OriginPoint *origin_point, const OriginAngle *origin_angle) @@ -1952,6 +1982,12 @@ double searching() ======= double searching(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +double searching() +======= +double searching(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { SearchPoint search_point; HorizonProperties horizon; diff --git a/raster/r.horizon/r.horizon.html b/raster/r.horizon/r.horizon.html index bb81e45f7e9..03bce768f42 100644 --- a/raster/r.horizon/r.horizon.html +++ b/raster/r.horizon/r.horizon.html @@ -6,9 +6,12 @@

    DESCRIPTION

      <<<<<<< HEAD +<<<<<<< HEAD
    • point: as a series of horizon heights in the specified directions from the given point(s). The results are ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
    • single point: as a series of horizon heights in the specified directions from the given point. The results are >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) @@ -113,25 +116,33 @@

      Input parameters:

      raster will be constructed as basename_ANGLE, where ANGLE is the angle in degrees with the direction. If you use r.horizon <<<<<<< HEAD +<<<<<<< HEAD in the point mode this option will be ignored. ======= in the single point mode this option will be ignored. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +in the single point mode this option will be ignored. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

      The file parameter allows saving the resulting horizon angles in a comma separated ASCII file with option format=plain or in a JSON file with option format=json (point mode only). If you use r.horizon in the raster map mode this option will be ignored. +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

      At the moment the elevation and maximum distance must be measured in meters, even if you use geographical coordinates (longitude/latitude). If your projection is based on distance (easting and northing), these too must be in meters. The buffer parameters must be in the same units as the <<<<<<< HEAD +<<<<<<< HEAD raster coordinates (e.g., for latitude-longitude buffers are measured in degrees). ======= @@ -141,6 +152,8 @@

      Input parameters:

      be in meters. The buffer parameters must be in the same units as the ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) raster coordinates (e.g., for latitude-longitude locations buffers are measured in degree unit). <<<<<<< HEAD @@ -282,6 +295,7 @@

      AUTHORS

      <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD the European Commission, Ispra, Italy ======= ======= @@ -291,6 +305,12 @@

      AUTHORS

      ======= the European Commission, Ispra, Italy >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +the European Commission, Ispra, Italy +======= +the European Commission, Ispra, Italy +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

      Tomas Cebecauer, Joint Research Centre of the European Commission, Ispra, Italy @@ -305,6 +325,7 @@

      AUTHORS

      hofierka@geomodel.sk <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Marcel.Suri@jrc.it ======= Marcel.Suri@jrc.it @@ -315,3 +336,9 @@

      AUTHORS

      ======= Marcel.Suri@jrc.it >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Marcel.Suri@jrc.it +======= +Marcel.Suri@jrc.it +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.in.ascii/gethead.c b/raster/r.in.ascii/gethead.c index d60e5acafbc..1c41adbdb00 100644 --- a/raster/r.in.ascii/gethead.c +++ b/raster/r.in.ascii/gethead.c @@ -236,11 +236,15 @@ int gethead(FILE *fd, struct Cell_head *cellhd, RASTER_MAP_TYPE *d_type, return 1; } +<<<<<<< HEAD <<<<<<< HEAD static int scan_int(const char *s, double *i, int proj UNUSED) ======= static int scan_int(const char *s, double *i, int proj) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int scan_int(const char *s, double *i, int proj) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { char dummy[3]; int *i_loc = (int *)i; @@ -249,6 +253,7 @@ static int scan_int(const char *s, double *i, int proj) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (sscanf(s, "%d%1s", i_loc, dummy) != 1) return 0; @@ -256,11 +261,14 @@ static int scan_int(const char *s, double *i, int proj) return 0; if (*i_loc <= 0) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (sscanf(s, "%d%1s", i, dummy) != 1) return 0; if (*dummy) return 0; if (*i <= 0) +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= if (sscanf(s, "%d%1s", i, dummy) != 1) @@ -269,13 +277,19 @@ static int scan_int(const char *s, double *i, int proj) return 0; if (*i <= 0) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if (sscanf(s, "%d%1s", i_loc, dummy) != 1) return 0; if (*dummy) return 0; if (*i_loc <= 0) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; return 1; } @@ -283,6 +297,7 @@ static int scan_int(const char *s, double *i, int proj) static int extract(int count, char *label, char *value, void *data, int proj, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*scanner)(const char *, double *, int)) ======= @@ -294,6 +309,12 @@ static int extract(int count, char *label, char *value, void *data, int proj, ======= int (*scanner)(const char *, double *, int)) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*scanner)()) +======= + int (*scanner)(const char *, double *, int)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { if (count) { G_warning(_("Duplicate \"%s\" field in header"), label); diff --git a/raster/r.in.ascii/main.c b/raster/r.in.ascii/main.c index 45ca8539d7c..0344deb7ee2 100644 --- a/raster/r.in.ascii/main.c +++ b/raster/r.in.ascii/main.c @@ -234,6 +234,7 @@ int main(int argc, char *argv[]) for (row = 0; row < nrows; row += 1) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (fread(rast, Rast_cell_size(data_type), ncols, ft) != (size_t)ncols) ======= @@ -245,6 +246,12 @@ int main(int argc, char *argv[]) ======= if (fread(rast, Rast_cell_size(data_type), ncols, ft) != (size_t)ncols) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (fread(rast, Rast_cell_size(data_type), ncols, ft) != ncols) +======= + if (fread(rast, Rast_cell_size(data_type), ncols, ft) != (size_t)ncols) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Read from file error: %s"), strerror(errno)); Rast_put_row(cf, rast, data_type); G_fseek(ft, sz, SEEK_CUR); diff --git a/raster/r.in.bin/main.c b/raster/r.in.bin/main.c index 9c8d540003d..4b443541e3a 100644 --- a/raster/r.in.bin/main.c +++ b/raster/r.in.bin/main.c @@ -257,6 +257,7 @@ int main(int argc, char *argv[]) const char *title; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD double null_val = NAN; ======= @@ -268,6 +269,12 @@ int main(int argc, char *argv[]) ======= double null_val = NAN; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + double null_val = 0.0 / 0.0; +======= + double null_val = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int is_fp; int is_signed; int bytes, hbytes; @@ -665,6 +672,7 @@ int main(int argc, char *argv[]) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (fread(in_buf, bytes, ncols, fp) != (size_t)ncols) ======= @@ -676,6 +684,12 @@ int main(int argc, char *argv[]) ======= if (fread(in_buf, bytes, ncols, fp) != (size_t)ncols) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (fread(in_buf, bytes, ncols, fp) != ncols) +======= + if (fread(in_buf, bytes, ncols, fp) != (size_t)ncols) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Error reading data")); convert_row(out_buf, in_buf, ncols, is_fp, is_signed, bytes, diff --git a/raster/r.in.gdal/r.in.gdal.html b/raster/r.in.gdal/r.in.gdal.html index 2724afbe760..3140303731c 100644 --- a/raster/r.in.gdal/r.in.gdal.html +++ b/raster/r.in.gdal/r.in.gdal.html @@ -3,9 +3,12 @@

      DESCRIPTION

      r.in.gdal allows a user to create a GRASS GIS raster map layer, or imagery group, from any GDAL supported raster map format, with an optional <<<<<<< HEAD +<<<<<<< HEAD title. The imported file may also be used to create a new project (previously called location). ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) title. The imported file may also be optionally used to create a new location. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) @@ -152,12 +155,17 @@

      Project Creation

      If the user wishes to ignore the difference between the apparent coordinate <<<<<<< HEAD +<<<<<<< HEAD system of the source data and the current project, they may pass the -o flag to override the CRS check. ======= system of the source data and the current location, they may pass the -o flag to override the projection check. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +system of the source data and the current location, they may pass the +-o flag to override the projection check. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

      If the user wishes to import the data with the full CRS definition, @@ -178,6 +186,7 @@

      Support for Ground Control Points

      PROJ_INFO file of the project name target.

      <<<<<<< HEAD +<<<<<<< HEAD If the target project does not exist, a new project will be created matching the CRS definition of the GCPs. The target of the output group will be set to the new project, and @@ -186,6 +195,11 @@

      Support for Ground Control Points

      created matching the projection definition of the GCPs. The target of the output group will be set to the new location, and >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +If the target location does not exist, a new location will be +created matching the projection definition of the GCPs. The target of +the output group will be set to the new location, and +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) i.rectify can now be used without any further preparation.

      @@ -244,7 +258,10 @@

      NOTES

      Projection
      The dataset's projection will be used to compare to the current location or to define a new location. Internally GDAL represents projections in +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) OpenGIS Well Known Text format. A large subset of the total set of GRASS CRSs are supported.
      @@ -262,10 +279,14 @@

      NOTES

      will also have an associated imagery group if there are ground control points. The coordinate system of the ground control points is reported by r.in.gdal <<<<<<< HEAD +<<<<<<< HEAD but not preserved. It is up to the user to ensure that the project ======= but not preserved. It is up to the user to ensure that the location >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +but not preserved. It is up to the user to ensure that the location +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) established with i.target has a compatible coordinate system before using the points with i.rectify.
      diff --git a/raster/r.in.lidar/r.in.lidar.html b/raster/r.in.lidar/r.in.lidar.html index 4fe876e9721..ca55a57bde4 100644 --- a/raster/r.in.lidar/r.in.lidar.html +++ b/raster/r.in.lidar/r.in.lidar.html @@ -501,11 +501,15 @@

      Height above ground

      Multiple file input

      +<<<<<<< HEAD <<<<<<< HEAD The file option requires a file that contains a list of file names with the full ======= The file option requres a file that contains a list of file names with the full >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +The file option requres a file that contains a list of file names with the full +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) path. For example, a list of files in the directory /home/user/data:
       points1.laz
      diff --git a/raster/r.in.mat/main.c b/raster/r.in.mat/main.c
      index 10eda166dd4..7c3a6174fcf 100644
      --- a/raster/r.in.mat/main.c
      +++ b/raster/r.in.mat/main.c
      @@ -214,6 +214,7 @@ int main(int argc, char *argv[])
                   if (data_format == 5) {
       <<<<<<< HEAD
       <<<<<<< HEAD
      +<<<<<<< HEAD
       <<<<<<< HEAD
                       if (fread(&map_name, sizeof(char), ncols, fp1) != (size_t)ncols)
                           G_fatal_error(_("Error reading data"));
      @@ -224,15 +225,20 @@ int main(int argc, char *argv[])
       =======
       =======
       >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
      +=======
      +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
                       if (fread(&map_name, sizeof(char), ncols, fp1) != ncols)
                           G_fatal_error(_("Error reading data"));
                   }
                   else if (data_format == 0) { /* sigh.. */
                       if (fread(&map_name_d, sizeof(double), ncols, fp1) != ncols)
       <<<<<<< HEAD
      +<<<<<<< HEAD
       >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704))
       =======
       >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704))
      +=======
      +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
       =======
                       if (fread(&map_name, sizeof(char), ncols, fp1) != (size_t)ncols)
                           G_fatal_error(_("Error reading data"));
      @@ -240,7 +246,11 @@ int main(int argc, char *argv[])
                   else if (data_format == 0) { /* sigh.. */
                       if (fread(&map_name_d, sizeof(double), ncols, fp1) !=
                           (size_t)ncols)
      +<<<<<<< HEAD
       >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
      +=======
      +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
      +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
                           G_fatal_error(_("Error reading data"));
                       for (i = 0; i < ncols; i++)
                           map_name[i] = (char)map_name_d[i];
      @@ -297,6 +307,7 @@ int main(int argc, char *argv[])
                   if (data_format == 5) {
       <<<<<<< HEAD
       <<<<<<< HEAD
      +<<<<<<< HEAD
       <<<<<<< HEAD
                       if (fread(&map_title, sizeof(char), ncols, fp1) !=
                           (size_t)ncols)
      @@ -310,12 +321,20 @@ int main(int argc, char *argv[])
                       if (fread(&map_title, sizeof(char), ncols, fp1) !=
                           (size_t)ncols)
       >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
      +=======
      +                if (fread(&map_title, sizeof(char), ncols, fp1) != ncols)
      +=======
      +                if (fread(&map_title, sizeof(char), ncols, fp1) !=
      +                    (size_t)ncols)
      +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
      +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
                           G_fatal_error(_("Error reading data"));
                   }
                   else if (data_format == 0) { /* sigh.. */
                       if (fread(&map_name_d, sizeof(double), ncols, fp1) !=
       <<<<<<< HEAD
       <<<<<<< HEAD
      +<<<<<<< HEAD
       <<<<<<< HEAD
                           (size_t)ncols) /* note reusing variable */
       =======
      @@ -327,6 +346,12 @@ int main(int argc, char *argv[])
       =======
                           (size_t)ncols) /* note reusing variable */
       >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
      +=======
      +                    ncols) /* note reusing variable */
      +=======
      +                    (size_t)ncols) /* note reusing variable */
      +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
      +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
                           G_fatal_error(_("Error reading data"));
                       for (i = 0; i < ncols; i++)
                           map_title[i] = (char)map_name_d[i];
      @@ -358,6 +383,7 @@ int main(int argc, char *argv[])
                       if (fread(array_data, sizeof(double), (size_t)mrows * ncols,
       <<<<<<< HEAD
       <<<<<<< HEAD
      +<<<<<<< HEAD
       <<<<<<< HEAD
                                 fp1) != (size_t)(mrows * ncols))
       =======
      @@ -369,6 +395,12 @@ int main(int argc, char *argv[])
       =======
                                 fp1) != (size_t)(mrows * ncols))
       >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
      +=======
      +                          fp1) != (mrows * ncols))
      +=======
      +                          fp1) != (size_t)(mrows * ncols))
      +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
      +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
                           G_fatal_error(_("Error reading data"));
                       break;
                   case 1:
      @@ -379,6 +411,7 @@ int main(int argc, char *argv[])
                       if (fread(array_data, sizeof(float), (size_t)mrows * ncols,
       <<<<<<< HEAD
       <<<<<<< HEAD
      +<<<<<<< HEAD
       <<<<<<< HEAD
                                 fp1) != (size_t)(mrows * ncols))
       =======
      @@ -390,6 +423,12 @@ int main(int argc, char *argv[])
       =======
                                 fp1) != (size_t)(mrows * ncols))
       >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
      +=======
      +                          fp1) != (mrows * ncols))
      +=======
      +                          fp1) != (size_t)(mrows * ncols))
      +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
      +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
                           G_fatal_error(_("Error reading data"));
                       break;
                   case 2:
      @@ -400,6 +439,7 @@ int main(int argc, char *argv[])
                       if (fread(array_data, sizeof(int), (size_t)mrows * ncols,
       <<<<<<< HEAD
       <<<<<<< HEAD
      +<<<<<<< HEAD
       <<<<<<< HEAD
                                 fp1) != (size_t)(mrows * ncols))
       =======
      @@ -411,6 +451,12 @@ int main(int argc, char *argv[])
       =======
                                 fp1) != (size_t)(mrows * ncols))
       >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794))
      +=======
      +                          fp1) != (mrows * ncols))
      +=======
      +                          fp1) != (size_t)(mrows * ncols))
      +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794))
      +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
                           G_fatal_error(_("Error reading data"));
                       break;
                   default:
      diff --git a/raster/r.in.mat/r.in.mat.html b/raster/r.in.mat/r.in.mat.html
      index 2e5d38aac29..e298c0bea03 100644
      --- a/raster/r.in.mat/r.in.mat.html
      +++ b/raster/r.in.mat/r.in.mat.html
      @@ -31,8 +31,11 @@ 

      DESCRIPTION


      The 'map_northern_edge' and like variables are mandatory unless the <<<<<<< HEAD +<<<<<<< HEAD user is importing to a "XY" non-georeferenced project ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) user is importing to a "XY" non-georeferenced location >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) (e.g. imagery data). Latitude and longitude values should be in decimal form. diff --git a/raster/r.in.pdal/Makefile b/raster/r.in.pdal/Makefile index 5472fa2637c..c34be1e7491 100644 --- a/raster/r.in.pdal/Makefile +++ b/raster/r.in.pdal/Makefile @@ -13,21 +13,29 @@ include $(MODULE_TOPDIR)/include/Make/Module.make <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) $(OBJDIR)/main.o : EXTRA_CFLAGS += $(PDALCPPFLAGS) $(OBJDIR)/info.o : EXTRA_CFLAGS += $(PDALCPPFLAGS) $(OBJDIR)/grasslidarfilter.o : EXTRA_CFLAGS += $(PDALCPPFLAGS) +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 9d4a079d2e (libcairodriver: enable Cairo with and without Fontconfig (#1697)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) LINK = $(CXX) ifneq ($(strip $(CXX)),) diff --git a/raster/r.in.pdal/info.cpp b/raster/r.in.pdal/info.cpp index eb44a09503a..95adb6dd8ae 100644 --- a/raster/r.in.pdal/info.cpp +++ b/raster/r.in.pdal/info.cpp @@ -25,11 +25,17 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD #include ======= ======= #include >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +#include +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) <<<<<<< HEAD >>>>>>> 9d4a079d2e (libcairodriver: enable Cairo with and without Fontconfig (#1697)) @@ -47,6 +53,7 @@ void get_extent(struct StringList *infiles, double *min_x, double *max_x, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD *min_x = *max_x = *min_y = *max_y = *min_z = *max_z = NAN; ======= @@ -58,6 +65,12 @@ void get_extent(struct StringList *infiles, double *min_x, double *max_x, ======= *min_x = *max_x = *min_y = *max_y = *min_z = *max_z = NAN; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + *min_x = *max_x = *min_y = *max_y = *min_z = *max_z = 0.0 / 0.0; +======= + *min_x = *max_x = *min_y = *max_y = *min_z = *max_z = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (int i = 0; i < infiles->num_items; i++) { const char *infile = infiles->items[i]; diff --git a/raster/r.in.pdal/main.cpp b/raster/r.in.pdal/main.cpp index 7edb0ec45d6..878453560e9 100644 --- a/raster/r.in.pdal/main.cpp +++ b/raster/r.in.pdal/main.cpp @@ -1446,6 +1446,7 @@ int main(int argc, char *argv[]) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) snprintf(title, sizeof(title), @@ -1463,6 +1464,16 @@ int main(int argc, char *argv[]) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(title, "Raw X,Y,Z data binned into a raster grid by cell %s", + method_opt->answer); +======= + snprintf(title, sizeof(title), + "Raw X,Y,Z data binned into a raster grid by cell %s", + method_opt->answer); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast_put_cell_title(outmap, title); Rast_short_history(outmap, "raster", &history); @@ -1489,6 +1500,7 @@ int main(int argc, char *argv[]) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) snprintf(buff, BUFFSIZE, @@ -1511,6 +1523,8 @@ int main(int argc, char *argv[]) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) sprintf(buff, _("Raster map <%s> created." " " GPOINT_COUNT_FORMAT @@ -1527,17 +1541,30 @@ int main(int argc, char *argv[]) " " GPOINT_COUNT_FORMAT " points found in region."), outmap, grass_filter.num_passed()); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 9d4a079d2e (libcairodriver: enable Cairo with and without Fontconfig (#1697)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + snprintf(buff, BUFFSIZE, + _("Raster map <%s> created." + " " GPOINT_COUNT_FORMAT + " points from %d files found in region."), + outmap, grass_filter.num_passed(), infiles.num_items); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } else { snprintf(buff, BUFFSIZE, _("Raster map <%s> created." " " GPOINT_COUNT_FORMAT " points found in region."), outmap, grass_filter.num_passed()); +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } G_done_msg("%s", buff); diff --git a/raster/r.in.pdal/r.in.pdal.html b/raster/r.in.pdal/r.in.pdal.html index edc33e51184..6bbce237780 100644 --- a/raster/r.in.pdal/r.in.pdal.html +++ b/raster/r.in.pdal/r.in.pdal.html @@ -389,6 +389,7 @@

      Transformation

      <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD dscale are set for Z output dimension, filtering by zrange ======= dscale are set for Z output dimension, filtering by zrange @@ -399,6 +400,12 @@

      Transformation

      ======= dscale are set for Z output dimension, filtering by zrange >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +dscale are set for Z output dimension, filtering by zrange +======= +dscale are set for Z output dimension, filtering by zrange +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) will be done with unscaled values but output will be scaled by dscale. dscale takes precedence over zscale and iscale if more than one parameter is provided. diff --git a/raster/r.in.png/main.c b/raster/r.in.png/main.c index ed3cfb8cf56..1637ce05f0a 100644 --- a/raster/r.in.png/main.c +++ b/raster/r.in.png/main.c @@ -44,6 +44,7 @@ typedef struct { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static channel channels[6] = {{.suffix = ""}, {.suffix = ""}, {.suffix = ".r"}, {.suffix = ".g"}, {.suffix = ".b"}, {.suffix = ".a"}}; @@ -54,10 +55,17 @@ static channel channels[6] = {{""}, {""}, {".r"}, {".g"}, {".b"}, {".a"}}; static channel channels[6] = {{""}, {""}, {".r"}, {".g"}, {".b"}, {".a"}}; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +static channel channels[6] = {{""}, {""}, {".r"}, {".g"}, {".b"}, {".a"}}; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= static channel channels[6] = {{.suffix = ""}, {.suffix = ""}, {.suffix = ".r"}, {.suffix = ".g"}, {.suffix = ".b"}, {.suffix = ".a"}}; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static int Header; static int Float; @@ -349,6 +357,7 @@ static void read_png(void) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD png_buffer = G_malloc((size_t)interlace ? (size_t)height * linesize : (size_t)linesize); @@ -362,6 +371,13 @@ static void read_png(void) png_buffer = G_malloc((size_t)interlace ? (size_t)height * linesize : (size_t)linesize); >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + png_buffer = G_malloc(interlace ? height * linesize : linesize); +======= + png_buffer = G_malloc((size_t)interlace ? (size_t)height * linesize + : (size_t)linesize); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (interlace) { png_rows = G_malloc(height * sizeof(png_bytep)); diff --git a/raster/r.in.poly/raster.c b/raster/r.in.poly/raster.c index cfe15ffaaa3..cb39a2ad2ad 100644 --- a/raster/r.in.poly/raster.c +++ b/raster/r.in.poly/raster.c @@ -25,6 +25,7 @@ static CELL *cell; <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static int (*dot)(int, int); ======= static int (*dot)(); @@ -35,6 +36,12 @@ static int (*dot)(); ======= static int (*dot)(int, int); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static int (*dot)(); +======= +static int (*dot)(int, int); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static int cell_dot(int, int); static int fcell_dot(int, int); static int dcell_dot(int, int); diff --git a/raster/r.in.xyz/main.c b/raster/r.in.xyz/main.c index 2fb8d710ab7..02ac6ff8ef2 100644 --- a/raster/r.in.xyz/main.c +++ b/raster/r.in.xyz/main.c @@ -133,6 +133,7 @@ int main(int argc, char *argv[]) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD double min = NAN; double max = NAN; @@ -148,6 +149,14 @@ int main(int argc, char *argv[]) double min = NAN; double max = NAN; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + double min = 0.0 / 0.0; /* init as nan */ + double max = 0.0 / 0.0; /* init as nan */ +======= + double min = NAN; + double max = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) double zscale = 1.0; double vscale = 1.0; size_t offset, n_offset; diff --git a/raster/r.info/r.info.html b/raster/r.info/r.info.html index 7ef4ca1b158..47c2d07a61b 100644 --- a/raster/r.info/r.info.html +++ b/raster/r.info/r.info.html @@ -5,11 +5,15 @@

      DESCRIPTION

      in the user's current mapset search path. Information about the map's boundaries, resolution, projection, data <<<<<<< HEAD +<<<<<<< HEAD type, category number, project, mapset, project parent directory (database directory), ======= type, category number, data base location and mapset, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +type, category number, data base location and mapset, +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) the timestamp and history are put into a table and written to standard output. The types of information listed can also be found in the cats, cellhd, and hist diff --git a/raster/r.li/TODO b/raster/r.li/TODO index b527da7337e..d4e1cdb1ac7 100644 --- a/raster/r.li/TODO +++ b/raster/r.li/TODO @@ -57,6 +57,7 @@ r.li.shannon input=lsat7_2002_40 conf=landsat_test output=landsat_shannon <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 227cbcebbf (Programmer's manual: update GRASS GIS arch drawing (#1610)) @@ -65,3 +66,5 @@ r.li.shannon input=lsat7_2002_40 conf=landsat_test output=landsat_shannon >>>>>>> 73a1a8ce38 (Programmer's manual: update GRASS GIS arch drawing (#1610)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.li/r.li.cwed/utility.c b/raster/r.li/r.li.cwed/utility.c index 507f6764da0..4d5d42af61b 100644 --- a/raster/r.li/r.li.cwed/utility.c +++ b/raster/r.li/r.li.cwed/utility.c @@ -37,6 +37,7 @@ char **split_arg(char *linea, char separatore, long *numerotoken) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD long i; /* find token number */ size_t it; /* iterator */ @@ -52,6 +53,14 @@ char **split_arg(char *linea, char separatore, long *numerotoken) long i; /* find token number */ size_t it; /* iterator */ >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + long i; /* find token number */ + long it; /* iterator */ +======= + long i; /* find token number */ + size_t it; /* iterator */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) long num; int term; /* =0 if last token has not /0 */ diff --git a/raster/r.li/r.li.daemon/daemon.c b/raster/r.li/r.li.daemon/daemon.c index 0a8d990c491..c522ff2f196 100644 --- a/raster/r.li/r.li.daemon/daemon.c +++ b/raster/r.li/r.li.daemon/daemon.c @@ -771,6 +771,7 @@ int error_Output(int out, msg m) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (write(out, s, strlen(s)) == (ssize_t)strlen(s)) ======= @@ -782,6 +783,12 @@ int error_Output(int out, msg m) ======= if (write(out, s, strlen(s)) == (ssize_t)strlen(s)) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (write(out, s, strlen(s)) == strlen(s)) +======= + if (write(out, s, strlen(s)) == (ssize_t)strlen(s)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 1; else return 0; diff --git a/raster/r.li/r.li.html b/raster/r.li/r.li.html index 583eef6e9b6..df72cbf17a7 100644 --- a/raster/r.li/r.li.html +++ b/raster/r.li/r.li.html @@ -4,6 +4,7 @@ r.li - GRASS GIS manual <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD ======= @@ -15,6 +16,12 @@ ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.li/r.li.padrange/padrange.c b/raster/r.li/r.li.padrange/padrange.c index d7842ba5bcc..27c3fdb195e 100644 --- a/raster/r.li/r.li.padrange/padrange.c +++ b/raster/r.li/r.li.padrange/padrange.c @@ -117,6 +117,7 @@ int calculate(int fd, struct area_entry *ad, double *result) CELL corrCell, precCell, supCell; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD long npatch; ======= @@ -128,6 +129,12 @@ int calculate(int fd, struct area_entry *ad, double *result) ======= long npatch; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + long npatch, area; +======= + long npatch; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) long pid, old_pid, new_pid, *pid_corr, *pid_sup, *ltmp; struct pst *pst; long nalloc, incr; @@ -230,8 +237,13 @@ int calculate(int fd, struct area_entry *ad, double *result) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + area++; + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) supCell = buf_sup[j + ad->x]; if (masked && (mask_sup[j] == 0)) { Rast_set_c_null_value(&supCell, 1); @@ -279,8 +291,11 @@ int calculate(int fd, struct area_entry *ad, double *result) pst[old_pid].count = 0; ======= +<<<<<<< HEAD area++; +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) supCell = buf_sup[j + ad->x]; if (masked && (mask_sup[j] == 0)) { Rast_set_c_null_value(&supCell, 1); @@ -309,6 +324,7 @@ int calculate(int fd, struct area_entry *ad, double *result) } } +<<<<<<< HEAD ======= area++; @@ -341,6 +357,8 @@ int calculate(int fd, struct area_entry *ad, double *result) } >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) old_pid = pid_corr[j + ad->x]; new_pid = pid_sup[j + ad->x]; pid_corr[j + ad->x] = new_pid; @@ -359,10 +377,14 @@ int calculate(int fd, struct area_entry *ad, double *result) pst[new_pid].count += pst[old_pid].count; pst[old_pid].count = 0; +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (old_pid == pid) pid--; } @@ -420,6 +442,7 @@ int calculate(int fd, struct area_entry *ad, double *result) /* get min and max patch size */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD min = INFINITY; max = -INFINITY; @@ -435,6 +458,14 @@ int calculate(int fd, struct area_entry *ad, double *result) min = INFINITY; max = -INFINITY; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + min = 1.0 / 0.0; /* inf */ + max = -1.0 / 0.0; /* -inf */ +======= + min = INFINITY; + max = -INFINITY; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (old_pid = 1; old_pid <= pid; old_pid++) { if (pst[old_pid].count > 0) { area_p = cell_size_m * pst[old_pid].count / 10000; @@ -468,6 +499,7 @@ int calculateD(int fd, struct area_entry *ad, double *result) DCELL corrCell, precCell, supCell; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD long npatch; ======= @@ -479,6 +511,12 @@ int calculateD(int fd, struct area_entry *ad, double *result) ======= long npatch; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + long npatch, area; +======= + long npatch; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) long pid, old_pid, new_pid, *pid_corr, *pid_sup, *ltmp; struct pst *pst; long nalloc, incr; @@ -581,8 +619,13 @@ int calculateD(int fd, struct area_entry *ad, double *result) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + area++; + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) supCell = buf_sup[j + ad->x]; if (masked && (mask_sup[j] == 0)) { Rast_set_d_null_value(&supCell, 1); @@ -630,8 +673,11 @@ int calculateD(int fd, struct area_entry *ad, double *result) pst[old_pid].count = 0; ======= +<<<<<<< HEAD area++; +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) supCell = buf_sup[j + ad->x]; if (masked && (mask_sup[j] == 0)) { Rast_set_d_null_value(&supCell, 1); @@ -660,6 +706,7 @@ int calculateD(int fd, struct area_entry *ad, double *result) } } +<<<<<<< HEAD ======= area++; @@ -692,6 +739,8 @@ int calculateD(int fd, struct area_entry *ad, double *result) } >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) old_pid = pid_corr[j + ad->x]; new_pid = pid_sup[j + ad->x]; pid_corr[j + ad->x] = new_pid; @@ -710,10 +759,14 @@ int calculateD(int fd, struct area_entry *ad, double *result) pst[new_pid].count += pst[old_pid].count; pst[old_pid].count = 0; +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (old_pid == pid) pid--; } @@ -771,6 +824,7 @@ int calculateD(int fd, struct area_entry *ad, double *result) /* get min and max patch size */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD min = INFINITY; max = -INFINITY; @@ -786,6 +840,14 @@ int calculateD(int fd, struct area_entry *ad, double *result) min = INFINITY; max = -INFINITY; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + min = 1.0 / 0.0; /* inf */ + max = -1.0 / 0.0; /* -inf */ +======= + min = INFINITY; + max = -INFINITY; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (old_pid = 1; old_pid <= pid; old_pid++) { if (pst[old_pid].count > 0) { area_p = cell_size_m * pst[old_pid].count / 10000; @@ -819,6 +881,7 @@ int calculateF(int fd, struct area_entry *ad, double *result) FCELL corrCell, precCell, supCell; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD long npatch; ======= @@ -830,6 +893,12 @@ int calculateF(int fd, struct area_entry *ad, double *result) ======= long npatch; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + long npatch, area; +======= + long npatch; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) long pid, old_pid, new_pid, *pid_corr, *pid_sup, *ltmp; struct pst *pst; long nalloc, incr; @@ -932,8 +1001,13 @@ int calculateF(int fd, struct area_entry *ad, double *result) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + area++; + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) supCell = buf_sup[j + ad->x]; if (masked && (mask_sup[j] == 0)) { Rast_set_f_null_value(&supCell, 1); @@ -981,8 +1055,11 @@ int calculateF(int fd, struct area_entry *ad, double *result) pst[old_pid].count = 0; ======= +<<<<<<< HEAD area++; +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) supCell = buf_sup[j + ad->x]; if (masked && (mask_sup[j] == 0)) { Rast_set_f_null_value(&supCell, 1); @@ -1011,6 +1088,7 @@ int calculateF(int fd, struct area_entry *ad, double *result) } } +<<<<<<< HEAD ======= area++; @@ -1043,6 +1121,8 @@ int calculateF(int fd, struct area_entry *ad, double *result) } >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) old_pid = pid_corr[j + ad->x]; new_pid = pid_sup[j + ad->x]; pid_corr[j + ad->x] = new_pid; @@ -1061,10 +1141,14 @@ int calculateF(int fd, struct area_entry *ad, double *result) pst[new_pid].count += pst[old_pid].count; pst[old_pid].count = 0; +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (old_pid == pid) pid--; } @@ -1122,6 +1206,7 @@ int calculateF(int fd, struct area_entry *ad, double *result) /* get min and max patch size */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD min = INFINITY; max = -INFINITY; @@ -1137,6 +1222,14 @@ int calculateF(int fd, struct area_entry *ad, double *result) min = INFINITY; max = -INFINITY; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + min = 1.0 / 0.0; /* inf */ + max = -1.0 / 0.0; /* -inf */ +======= + min = INFINITY; + max = -INFINITY; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (old_pid = 1; old_pid <= pid; old_pid++) { if (pst[old_pid].count > 0) { area_p = cell_size_m * pst[old_pid].count / 10000; diff --git a/raster/r.li/r.li.patchnum/main.c b/raster/r.li/r.li.patchnum/main.c index 2f46926abb3..51c069a708f 100644 --- a/raster/r.li/r.li.patchnum/main.c +++ b/raster/r.li/r.li.patchnum/main.c @@ -108,6 +108,7 @@ int calculate(int fd, struct area_entry *ad, double *result) CELL corrCell, precCell, supCell; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD long npatch; ======= @@ -119,6 +120,12 @@ int calculate(int fd, struct area_entry *ad, double *result) ======= long npatch; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + long npatch, area; +======= + long npatch; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) long pid, old_pid, new_pid, *pid_corr, *pid_sup, *ltmp; struct pst *pst; long nalloc, incr; @@ -221,8 +228,13 @@ int calculate(int fd, struct area_entry *ad, double *result) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + area++; + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) supCell = buf_sup[j + ad->x]; if (masked && (mask_sup[j] == 0)) { Rast_set_c_null_value(&supCell, 1); @@ -280,8 +292,11 @@ int calculate(int fd, struct area_entry *ad, double *result) } ======= +<<<<<<< HEAD area++; +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) supCell = buf_sup[j + ad->x]; if (masked && (mask_sup[j] == 0)) { Rast_set_c_null_value(&supCell, 1); @@ -328,6 +343,7 @@ int calculate(int fd, struct area_entry *ad, double *result) pst[new_pid].count += pst[old_pid].count; pst[old_pid].count = 0; +<<<<<<< HEAD ======= area++; @@ -378,6 +394,8 @@ int calculate(int fd, struct area_entry *ad, double *result) pst[old_pid].count = 0; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (old_pid == pid) pid--; } @@ -388,10 +406,14 @@ int calculate(int fd, struct area_entry *ad, double *result) connected = 1; } +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (!connected) { /* start new patch */ npatch++; @@ -437,6 +459,7 @@ int calculateD(int fd, struct area_entry *ad, double *result) DCELL corrCell, precCell, supCell; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD long npatch; ======= @@ -448,6 +471,12 @@ int calculateD(int fd, struct area_entry *ad, double *result) ======= long npatch; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + long npatch, area; +======= + long npatch; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) long pid, old_pid, new_pid, *pid_corr, *pid_sup, *ltmp; struct pst *pst; long nalloc, incr; @@ -550,8 +579,13 @@ int calculateD(int fd, struct area_entry *ad, double *result) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + area++; + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) supCell = buf_sup[j + ad->x]; if (masked && (mask_sup[j] == 0)) { Rast_set_d_null_value(&supCell, 1); @@ -599,8 +633,11 @@ int calculateD(int fd, struct area_entry *ad, double *result) pst[old_pid].count = 0; ======= +<<<<<<< HEAD area++; +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) supCell = buf_sup[j + ad->x]; if (masked && (mask_sup[j] == 0)) { Rast_set_d_null_value(&supCell, 1); @@ -629,6 +666,7 @@ int calculateD(int fd, struct area_entry *ad, double *result) } } +<<<<<<< HEAD ======= area++; @@ -661,6 +699,8 @@ int calculateD(int fd, struct area_entry *ad, double *result) } >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) old_pid = pid_corr[j]; new_pid = pid_sup[j]; pid_corr[j] = new_pid; @@ -679,10 +719,14 @@ int calculateD(int fd, struct area_entry *ad, double *result) pst[new_pid].count += pst[old_pid].count; pst[old_pid].count = 0; +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (old_pid == pid) pid--; } @@ -738,6 +782,7 @@ int calculateF(int fd, struct area_entry *ad, double *result) FCELL corrCell, precCell, supCell; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD long npatch; ======= @@ -749,6 +794,12 @@ int calculateF(int fd, struct area_entry *ad, double *result) ======= long npatch; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + long npatch, area; +======= + long npatch; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) long pid, old_pid, new_pid, *pid_corr, *pid_sup, *ltmp; struct pst *pst; long nalloc, incr; @@ -851,8 +902,13 @@ int calculateF(int fd, struct area_entry *ad, double *result) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + area++; + +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) supCell = buf_sup[j + ad->x]; if (masked && (mask_sup[j] == 0)) { Rast_set_f_null_value(&supCell, 1); @@ -900,8 +956,11 @@ int calculateF(int fd, struct area_entry *ad, double *result) pst[old_pid].count = 0; ======= +<<<<<<< HEAD area++; +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) supCell = buf_sup[j + ad->x]; if (masked && (mask_sup[j] == 0)) { Rast_set_f_null_value(&supCell, 1); @@ -930,6 +989,7 @@ int calculateF(int fd, struct area_entry *ad, double *result) } } +<<<<<<< HEAD ======= area++; @@ -962,6 +1022,8 @@ int calculateF(int fd, struct area_entry *ad, double *result) } >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) old_pid = pid_corr[j]; new_pid = pid_sup[j]; pid_corr[j] = new_pid; @@ -980,10 +1042,14 @@ int calculateF(int fd, struct area_entry *ad, double *result) pst[new_pid].count += pst[old_pid].count; pst[old_pid].count = 0; +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (old_pid == pid) pid--; } diff --git a/raster/r.li/r.li.shape/r.li.shape.html b/raster/r.li/r.li.shape/r.li.shape.html index 860e20eefbe..53571055a04 100644 --- a/raster/r.li/r.li.shape/r.li.shape.html +++ b/raster/r.li/r.li.shape/r.li.shape.html @@ -76,6 +76,7 @@

      AUTHORS

      <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Claudio Porta and Lucio Davide Spano, students of Computer Science ======= ======= @@ -85,5 +86,11 @@

      AUTHORS

      ======= Claudio Porta and Lucio Davide Spano, students of Computer Science >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Claudio Porta and Lucio Davide Spano, students of Computer Science +======= +Claudio Porta and Lucio Davide Spano, students of Computer Science +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) University of Pisa (Italy).
      Commission from Faunalia Pontedera (PI) (www.faunalia.it)
      diff --git a/raster/r.mapcalc/map.c b/raster/r.mapcalc/map.c index 4747bc46a59..d8b972c63d7 100644 --- a/raster/r.mapcalc/map.c +++ b/raster/r.mapcalc/map.c @@ -752,6 +752,7 @@ void create_history(const char *dst, expression *e) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (;;) { ======= @@ -763,6 +764,12 @@ void create_history(const char *dst, expression *e) ======= for (;;) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0;; i++) { +======= + for (;;) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) char buf[RECORD_LEN]; int n; diff --git a/raster/r.mapcalc/r3.mapcalc.html b/raster/r.mapcalc/r3.mapcalc.html index 7d3e014f3a1..b8a80bf89de 100644 --- a/raster/r.mapcalc/r3.mapcalc.html +++ b/raster/r.mapcalc/r3.mapcalc.html @@ -257,6 +257,7 @@

      Functions

      <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Note, that the row(), col() and depth() indexing starts with 1. ======= Note, that the row(), col() and depth() indexing starts with 1. @@ -267,6 +268,12 @@

      Functions

      ======= Note, that the row(), col() and depth() indexing starts with 1. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Note, that the row(), col() and depth() indexing starts with 1. +======= +Note, that the row(), col() and depth() indexing starts with 1. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

      Floating point values in the expression

      @@ -605,6 +612,7 @@

      REFERENCES

      <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD

      =======

      @@ -615,6 +623,12 @@

      REFERENCES

      =======

      >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +

      +======= +

      +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Performing Map Calculations on GRASS Data: r.mapcalc Program Tutorial, by Marji Larson, Michael Shapiro and Scott Tweddale, U.S. Army Construction Engineering Research Laboratory (December @@ -623,6 +637,7 @@

      REFERENCES

      <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Neteler, M. (2001): Volume modelling of soils using GRASS GIS 3D tools. - in: ======= Neteler, M. (2001): Volume modelling of soils using GRASS GIS 3D tools. - in: @@ -633,6 +648,12 @@

      REFERENCES

      ======= Neteler, M. (2001): Volume modelling of soils using GRASS GIS 3D tools. - in: >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Neteler, M. (2001): Volume modelling of soils using GRASS GIS 3D tools. - in: +======= +Neteler, M. (2001): Volume modelling of soils using GRASS GIS 3D tools. - in: +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Brovelli, M. (ed.)(2001): The Geomatics Workbook N. 2. Politecnico di Milano, Italy (ISSN 1591-092X) (PDF) diff --git a/raster/r.mfilter/Makefile b/raster/r.mfilter/Makefile index cc54a919ba7..d39092596d4 100644 --- a/raster/r.mfilter/Makefile +++ b/raster/r.mfilter/Makefile @@ -5,6 +5,7 @@ PGM = r.mfilter <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD LIBES = $(ROWIOLIB) $(RASTERLIB) $(GISLIB) $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(ROWIODEP) $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OPENMP_CFLAGS) @@ -20,11 +21,20 @@ DEPENDENCIES = $(ROWIODEP) $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OMPCFLAGS) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +LIBES = $(ROWIOLIB) $(RASTERLIB) $(GISLIB) $(OMPLIB) +DEPENDENCIES = $(ROWIODEP) $(RASTERDEP) $(GISDEP) +EXTRA_CFLAGS = $(OMPCFLAGS) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= LIBES = $(ROWIOLIB) $(RASTERLIB) $(GISLIB) $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(ROWIODEP) $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OPENMP_CFLAGS) EXTRA_INC = $(OPENMP_INCPATH) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) include $(MODULE_TOPDIR)/include/Make/Module.make diff --git a/raster/r.mfilter/execute.c b/raster/r.mfilter/execute.c index 6b100202c20..a85b98c49d4 100644 --- a/raster/r.mfilter/execute.c +++ b/raster/r.mfilter/execute.c @@ -142,6 +142,7 @@ int execute_filter(ROWIO *r, int *out, FILTER *filter, DCELL **cell) /* write row */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (write(out[id], cellp, buflen) < 0) G_fatal_error("Error writing temporary file"); @@ -155,6 +156,13 @@ int execute_filter(ROWIO *r, int *out, FILTER *filter, DCELL **cell) if (write(out[id], cellp, buflen) < 0) G_fatal_error("Error writing temporary file"); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + write(out[id], cellp, buflen); +======= + if (write(out[id], cellp, buflen) < 0) + G_fatal_error("Error writing temporary file"); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) #pragma omp atomic update work++; } diff --git a/raster/r.mfilter/testsuite/test_r_mfilter.py b/raster/r.mfilter/testsuite/test_r_mfilter.py index 9cc9a31d6e1..b0a7d50564f 100644 --- a/raster/r.mfilter/testsuite/test_r_mfilter.py +++ b/raster/r.mfilter/testsuite/test_r_mfilter.py @@ -174,6 +174,7 @@ class TestNeighbors(TestCase): MATRIX 3 <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD 1 1 1 1 1 1 @@ -188,11 +189,20 @@ class TestNeighbors(TestCase): 1 1 1 1 1 1 >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + 1 1 1 + 1 1 1 + 1 1 1 +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= 1 1 1 1 1 1 1 1 1 +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) DIVISOR 9 TYPE P""", } diff --git a/raster/r.neighbors/Makefile b/raster/r.neighbors/Makefile index 77c7e1d0bfa..b0f6bc6a83a 100644 --- a/raster/r.neighbors/Makefile +++ b/raster/r.neighbors/Makefile @@ -5,6 +5,7 @@ PGM = r.neighbors <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD LIBES = $(STATSLIB) $(RASTERLIB) $(GISLIB) $(MATHLIB) EXTRA_LIBS = $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(STATSDEP) $(RASTERDEP) $(GISDEP) @@ -21,12 +22,21 @@ DEPENDENCIES = $(STATSDEP) $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OMPCFLAGS) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +LIBES = $(STATSLIB) $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OMPLIB) +DEPENDENCIES = $(STATSDEP) $(RASTERDEP) $(GISDEP) +EXTRA_CFLAGS = $(OMPCFLAGS) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= LIBES = $(STATSLIB) $(RASTERLIB) $(GISLIB) $(MATHLIB) EXTRA_LIBS = $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(STATSDEP) $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OPENMP_CFLAGS) EXTRA_INC = $(OPENMP_INCPATH) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) include $(MODULE_TOPDIR)/include/Make/Module.make diff --git a/raster/r.object.geometry/r.object.geometry.html b/raster/r.object.geometry/r.object.geometry.html index 4139fd66526..514d015d699 100644 --- a/raster/r.object.geometry/r.object.geometry.html +++ b/raster/r.object.geometry/r.object.geometry.html @@ -7,6 +7,7 @@

      DESCRIPTION

      with fields separated by the chosen separator. Objects are defined <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD as clumps of adjacent cells with the same category value (e.g. output of ======= @@ -18,6 +19,12 @@

      DESCRIPTION

      ======= as clumps of adjacent cells with the same category value (e.g. output of >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + as clumps of adjacent cells with the same category value (e.g. output of +======= + as clumps of adjacent cells with the same category value (e.g. output of +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) r.clump or i.segment). @@ -26,6 +33,7 @@

      DESCRIPTION

      <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD can set the -m flag. If the current working region is in lat-long or ======= can set the -m flag. If the current working region is in lat-long or @@ -36,6 +44,12 @@

      DESCRIPTION

      ======= can set the -m flag. If the current working region is in lat-long or >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +can set the -m flag. If the current working region is in lat-long or +======= +can set the -m flag. If the current working region is in lat-long or +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) has non-square pixels, using meters is recommended.

      @@ -43,6 +57,7 @@

      DESCRIPTION

      <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD v.to.db (except for compact_square and ======= v.to.db (except for compact_square and @@ -53,6 +68,12 @@

      DESCRIPTION

      ======= v.to.db (except for compact_square and >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +v.to.db (except for compact_square and +======= +v.to.db (except for compact_square and +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) mean coordinates):
        @@ -61,6 +82,7 @@

        DESCRIPTION

        <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD
      • compact_square (compactness compared to a square: compact_square = 4 * sqrt(area) / perimeter)
      • compact_circle (compactness compared to a circle: @@ -75,10 +97,19 @@

        DESCRIPTION

      • compact_circle (compactness compared to a circle: >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +
      • compact_square (compactness compared to a square: + compact_square = 4 * sqrt(area) / perimeter) +
      • compact_circle (compactness compared to a circle: +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +=======
      • compact_square (compactness compared to a square: compact_square = 4 * sqrt(area) / perimeter)
      • compact_circle (compactness compared to a circle: +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) compact_circle = perimeter / ( 2 * sqrt(PI * area) ))
      • fractal dimension ( fd = 2 * ( log(perimeter) / log(area + 0.001) ) )
      • mean x coordinate of object (in map units)
      • @@ -107,6 +138,7 @@

        AUTHORS

        <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -115,3 +147,8 @@

        AUTHORS

        >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.out.bin/main.c b/raster/r.out.bin/main.c index 97732d1afba..d793d1ecad7 100644 --- a/raster/r.out.bin/main.c +++ b/raster/r.out.bin/main.c @@ -487,6 +487,7 @@ int main(int argc, char *argv[]) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (fwrite(out_buf, bytes, ncols, fp) != (size_t)ncols) ======= @@ -498,6 +499,12 @@ int main(int argc, char *argv[]) ======= if (fwrite(out_buf, bytes, ncols, fp) != (size_t)ncols) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (fwrite(out_buf, bytes, ncols, fp) != ncols) +======= + if (fwrite(out_buf, bytes, ncols, fp) != (size_t)ncols) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Error writing data")); } diff --git a/raster/r.out.gdal/main.c b/raster/r.out.gdal/main.c index fbb41f53783..87664ac90d5 100644 --- a/raster/r.out.gdal/main.c +++ b/raster/r.out.gdal/main.c @@ -1057,6 +1057,7 @@ double set_default_nodata_value(GDALDataType datatype, double min, double max) case GDT_CFloat32: <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD return NAN; @@ -1064,11 +1065,14 @@ double set_default_nodata_value(GDALDataType datatype, double min, double max) case GDT_CFloat64: return NAN; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0.0 / 0.0; case GDT_Float64: case GDT_CFloat64: return 0.0 / 0.0; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= return 0.0 / 0.0; @@ -1077,13 +1081,19 @@ double set_default_nodata_value(GDALDataType datatype, double min, double max) case GDT_CFloat64: return 0.0 / 0.0; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= return NAN; case GDT_Float64: case GDT_CFloat64: return NAN; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) default: return 0; diff --git a/raster/r.out.vtk/r.out.vtk.html b/raster/r.out.vtk/r.out.vtk.html index 72edc3d3b5c..70ceab3c7e7 100644 --- a/raster/r.out.vtk/r.out.vtk.html +++ b/raster/r.out.vtk/r.out.vtk.html @@ -33,6 +33,7 @@

        NOTES

        <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD This filter generates: ======= ======= @@ -42,6 +43,12 @@

        NOTES

        ======= This filter generates: >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +This filter generates: +======= +This filter generates: +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
        • structured points with celldata or pointdata if no elevationfile is given
        • @@ -81,11 +88,15 @@

          Difference between point- and celldata

        • celldata -- is only provided if no elevation map is given. +<<<<<<< HEAD <<<<<<< HEAD The cells are created with the same height and width as in GRASS. Each cell ======= The cells are created with the same hight and width as in GRASS. Each cell >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + The cells are created with the same hight and width as in GRASS. Each cell +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) can hold different values, but the user can only visualize one value at a time.
        diff --git a/raster/r.param.scale/disp_matrix.c b/raster/r.param.scale/disp_matrix.c index 9a6be21b45e..de4b09ef12e 100644 --- a/raster/r.param.scale/disp_matrix.c +++ b/raster/r.param.scale/disp_matrix.c @@ -14,17 +14,29 @@ void disp_matrix(double **a, double *x, double *z, int n) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* Displays matrices used to solve a set of linear equations in the form _ _ _ _ _ _ ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Displays matrices used to solve a set of linear equations in the form _ _ _ _ _ _ +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + /* Displays matrices used to solve a + set of linear equations in the form + + _ _ _ _ _ _ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) | a(0,0) a(0,1) ... a(0,n) | | x0 | | z0 | | a(1,0) a(1,1) ... a(1,n) | | x1 | | z1 | | : : ... : | . | : | = | : | diff --git a/raster/r.patch/Makefile b/raster/r.patch/Makefile index 353ee9c57f6..23f5bca0eb3 100644 --- a/raster/r.patch/Makefile +++ b/raster/r.patch/Makefile @@ -5,6 +5,7 @@ PGM = r.patch <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD LIBES = $(RASTERLIB) $(GISLIB) EXTRA_LIBS = $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(RASTERDEP) $(GISDEP) @@ -21,12 +22,21 @@ DEPENDENCIES = $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OMPCFLAGS) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +LIBES = $(RASTERLIB) $(GISLIB) $(OMPLIB) +DEPENDENCIES = $(RASTERDEP) $(GISDEP) +EXTRA_CFLAGS = $(OMPCFLAGS) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= LIBES = $(RASTERLIB) $(GISLIB) EXTRA_LIBS = $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OPENMP_CFLAGS) EXTRA_INC = $(OPENMP_INCPATH) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) include $(MODULE_TOPDIR)/include/Make/Module.make diff --git a/raster/r.path/main.c b/raster/r.path/main.c index adcc39b3094..414d059fdb8 100644 --- a/raster/r.path/main.c +++ b/raster/r.path/main.c @@ -378,6 +378,7 @@ int main(int argc, char **argv) if (write(val_fd, map_buf, ncols * sizeof(DCELL)) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD ncols * (int)sizeof(DCELL)) { ======= @@ -389,6 +390,12 @@ int main(int argc, char **argv) ======= ncols * (int)sizeof(DCELL)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + ncols * sizeof(DCELL)) { +======= + ncols * (int)sizeof(DCELL)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Unable to write to tempfile")); } } @@ -461,6 +468,7 @@ int main(int argc, char **argv) if (write(dir_fd, dir_buf, ncols * sizeof(CELL)) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD ncols * (int)sizeof(CELL)) { ======= @@ -472,6 +480,12 @@ int main(int argc, char **argv) ======= ncols * (int)sizeof(CELL)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + ncols * sizeof(CELL)) { +======= + ncols * (int)sizeof(CELL)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Unable to write to tempfile")); } } @@ -490,6 +504,7 @@ int main(int argc, char **argv) if (write(dir_fd, dir_buf, ncols * sizeof(DCELL)) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD ncols * (int)sizeof(DCELL)) { ======= @@ -501,6 +516,12 @@ int main(int argc, char **argv) ======= ncols * (int)sizeof(DCELL)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + ncols * sizeof(DCELL)) { +======= + ncols * (int)sizeof(DCELL)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Unable to write to tempfile")); } } @@ -781,6 +802,7 @@ int dir_bitmask(int dir_fd, int val_fd, struct point *startp, if (read(val_fd, val_buf, window->cols * sizeof(DCELL)) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD window->cols * (int)sizeof(DCELL)) { ======= @@ -792,6 +814,12 @@ int dir_bitmask(int dir_fd, int val_fd, struct point *startp, ======= window->cols * (int)sizeof(DCELL)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + window->cols * sizeof(DCELL)) { +======= + window->cols * (int)sizeof(DCELL)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Unable to read from temp file")); } val_row = stackp->row; @@ -824,6 +852,7 @@ int dir_bitmask(int dir_fd, int val_fd, struct point *startp, if (read(dir_fd, dir_buf, window->cols * sizeof(CELL)) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD window->cols * (int)sizeof(CELL)) { ======= @@ -835,6 +864,12 @@ int dir_bitmask(int dir_fd, int val_fd, struct point *startp, ======= window->cols * (int)sizeof(CELL)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + window->cols * sizeof(CELL)) { +======= + window->cols * (int)sizeof(CELL)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Unable to read from temp file")); } dir_row = next_row; @@ -965,6 +1000,7 @@ int dir_bitmask(int dir_fd, int val_fd, struct point *startp, window->cols * sizeof(DCELL)) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD window->cols * (int)sizeof(DCELL)) { ======= @@ -976,6 +1012,12 @@ int dir_bitmask(int dir_fd, int val_fd, struct point *startp, ======= window->cols * (int)sizeof(DCELL)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + window->cols * sizeof(DCELL)) { +======= + window->cols * (int)sizeof(DCELL)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error( _("Unable to read from temp file")); } @@ -1088,6 +1130,7 @@ int dir_degree(int dir_fd, int val_fd, struct point *startp, if (read(val_fd, val_buf, window->cols * sizeof(DCELL)) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD window->cols * (int)sizeof(DCELL)) { ======= @@ -1099,6 +1142,12 @@ int dir_degree(int dir_fd, int val_fd, struct point *startp, ======= window->cols * (int)sizeof(DCELL)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + window->cols * sizeof(DCELL)) { +======= + window->cols * (int)sizeof(DCELL)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Unable to read from temp file")); } val_row = next_row; @@ -1126,6 +1175,7 @@ int dir_degree(int dir_fd, int val_fd, struct point *startp, if (read(dir_fd, dir_buf, window->cols * sizeof(DCELL)) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD window->cols * (int)sizeof(DCELL)) { ======= @@ -1137,6 +1187,12 @@ int dir_degree(int dir_fd, int val_fd, struct point *startp, ======= window->cols * (int)sizeof(DCELL)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + window->cols * sizeof(DCELL)) { +======= + window->cols * (int)sizeof(DCELL)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Unable to read from temp file")); } dir_row = next_row; @@ -1237,6 +1293,7 @@ int dir_degree(int dir_fd, int val_fd, struct point *startp, window->cols * sizeof(DCELL)) != <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD window->cols * (int)sizeof(DCELL)) { ======= @@ -1248,6 +1305,12 @@ int dir_degree(int dir_fd, int val_fd, struct point *startp, ======= window->cols * (int)sizeof(DCELL)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + window->cols * sizeof(DCELL)) { +======= + window->cols * (int)sizeof(DCELL)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Unable to read from temp file")); } val_row = next_row; diff --git a/raster/r.path/r.path.html b/raster/r.path/r.path.html index 0b2ec2228ab..083eb0451b0 100644 --- a/raster/r.path/r.path.html +++ b/raster/r.path/r.path.html @@ -63,6 +63,7 @@

        NOTES

        <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The directions are recorded as degrees CCW from East, the Knight's move ======= ======= @@ -72,6 +73,12 @@

        NOTES

        ======= The directions are recorded as degrees CCW from East, the Knight's move >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +The directions are recorded as degrees CCW from East, the Knight's move +======= +The directions are recorded as degrees CCW from East, the Knight's move +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) of r.cost and r.walk is considered:
                112.5     67.5
        diff --git a/raster/r.profile/r.profile.html b/raster/r.profile/r.profile.html
        index 669ddf269e8..b0dcd8b0984 100644
        --- a/raster/r.profile/r.profile.html
        +++ b/raster/r.profile/r.profile.html
        @@ -34,8 +34,11 @@ 

        OUTPUT FORMAT

        saved to a file for later use. Output with geographic coordinates (-g) is compatible with v.in.ascii and can <<<<<<< HEAD +<<<<<<< HEAD be piped directly into this program. ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) be piped direcly into this program. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.proj/r.proj.html b/raster/r.proj/r.proj.html index cdebb1a90e8..cbf72f1157f 100644 --- a/raster/r.proj/r.proj.html +++ b/raster/r.proj/r.proj.html @@ -263,10 +263,13 @@

        v.in.region method

        v.in.region -d output=bounds type=area +<<<<<<< HEAD <<<<<<< HEAD # Now switch to the target project and import the vector bounding box # (you can run v.proj -l to get a list of vector maps in the source project): ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # Now switch to the target location and import the vector bounding box # (you can run v.proj -l to get a list of vector maps in the source location): >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) @@ -277,7 +280,10 @@

        v.in.region method

        # Set the region in the target project with that of the newly-imported vector ======= # Set the region in the target location with that of the newly-imported vector +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # bounds map, and align the resolution to the desired cell resolution of the # final, reprojected raster map: @@ -335,6 +341,7 @@

        AUTHORS

        <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -344,6 +351,12 @@

        AUTHORS

        ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Martin Schroeder, University of Heidelberg, Germany
        Man page text from S.J.D. Cox, AGCRC, CSIRO Exploration & Mining, Nedlands, WA
        Updated by Morten Hulden
        diff --git a/raster/r.quant/read_rules.c b/raster/r.quant/read_rules.c index 2403c9c9854..f23969da35b 100644 --- a/raster/r.quant/read_rules.c +++ b/raster/r.quant/read_rules.c @@ -90,6 +90,7 @@ int read_rules(const char *filename) "description or 'end' to exit:\n")); Rast_quant_init(&quant_struct); <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (;;) { ======= @@ -101,6 +102,12 @@ int read_rules(const char *filename) ======= for (;;) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (line = 1;; line++) { +======= + for (;;) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (isatty(fileno(fp))) fprintf(stderr, "> "); if (!G_getl2(buf, sizeof(buf), fp)) diff --git a/raster/r.quantile/r.quantile.html b/raster/r.quantile/r.quantile.html index 620548d4c20..0976ebce5ed 100644 --- a/raster/r.quantile/r.quantile.html +++ b/raster/r.quantile/r.quantile.html @@ -31,6 +31,7 @@

        REFERENCES

        <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD
      • Hyndman and Fan (1996) Sample Quantiles in Statistical Packages, American Statistician. American Statistical Association. 50 (4): 361-365. DOI: REFERENCES ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
      • Hyndman and Fan (1996) Sample Quantiles in Statistical Packages, American Statistician. American Statistical Association. 50 (4): 361-365. DOI: REFERENCES
      • Engineering <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +=======
      • Hyndman and Fan (1996) Sample Quantiles in Statistical Packages, American Statistician. American Statistical Association. 50 (4): 361-365. DOI: 10.2307/2684934
      • Engineering +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Statistics Handbook: Percentile, NIST
      diff --git a/raster/r.recode/read_rules.c b/raster/r.recode/read_rules.c index 58a9f204a1b..3e6ab14b3df 100644 --- a/raster/r.recode/read_rules.c +++ b/raster/r.recode/read_rules.c @@ -62,6 +62,7 @@ int read_rules(FILE *fp) } Rast_fpreclass_init(&rcl_struct); <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (;;) { ======= @@ -73,6 +74,12 @@ int read_rules(FILE *fp) ======= for (;;) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (line = 1;; line++) { +======= + for (;;) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (isatty(fileno(fp))) fprintf(stderr, "> "); diff --git a/raster/r.recode/recode.c b/raster/r.recode/recode.c index a0c5fe63327..54f5948c51d 100644 --- a/raster/r.recode/recode.c +++ b/raster/r.recode/recode.c @@ -12,6 +12,7 @@ static void process_row_di(int), process_row_df(int), process_row_dd(int); <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static void (*process_row_FtypeOtype[3][3])(int) = { ======= static void (*process_row_FtypeOtype[3][3])() = { @@ -22,6 +23,12 @@ static void (*process_row_FtypeOtype[3][3])() = { ======= static void (*process_row_FtypeOtype[3][3])(int) = { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static void (*process_row_FtypeOtype[3][3])() = { +======= +static void (*process_row_FtypeOtype[3][3])(int) = { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) {process_row_ii, process_row_if, process_row_id}, {process_row_fi, process_row_ff, process_row_fd}, {process_row_di, process_row_df, process_row_dd}}; diff --git a/raster/r.regression.line/r.regression.line.html b/raster/r.regression.line/r.regression.line.html index 12b5b2d7cb5..94f9dad3517 100644 --- a/raster/r.regression.line/r.regression.line.html +++ b/raster/r.regression.line/r.regression.line.html @@ -24,6 +24,7 @@

      NOTES

      <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The results for offset/intercept (a) and gain/slope (b) are identical to that obtained from R-stats's lm() function. ======= @@ -36,6 +37,14 @@

      NOTES

      The results for offset/intercept (a) and gain/slope (b) are identical to that obtained from R-stats's lm() function. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +The results for offset/intercept (a) and gain/slope (b) are +identical to that obtained from R-stats's lm() function. +======= +The results for offset/intercept (a) and gain/slope (b) are +identical to that obtained from R-stats's lm() function. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

      EXAMPLE

      diff --git a/raster/r.regression.multi/main.c b/raster/r.regression.multi/main.c index 7fa0b3fd6dd..a53680453f2 100644 --- a/raster/r.regression.multi/main.c +++ b/raster/r.regression.multi/main.c @@ -323,6 +323,7 @@ int main(int argc, char *argv[]) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (count < (unsigned int)n_predictors + 1) ======= @@ -334,6 +335,12 @@ int main(int argc, char *argv[]) ======= if (count < (unsigned int)n_predictors + 1) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (count < n_predictors + 1) +======= + if (count < (unsigned int)n_predictors + 1) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error(_("Not enough valid cells available")); for (k = 0; k <= n_predictors; k++) { diff --git a/raster/r.report/format.c b/raster/r.report/format.c index ba850849eca..4d3da33db21 100644 --- a/raster/r.report/format.c +++ b/raster/r.report/format.c @@ -26,6 +26,7 @@ int format_parms(double v, int *n, int *dp, int *eformat, int e_option) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if ((int)strlen(buf) <= *n) ======= @@ -37,6 +38,12 @@ int format_parms(double v, int *n, int *dp, int *eformat, int e_option) ======= if ((int)strlen(buf) <= *n) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (strlen(buf) <= *n) +======= + if ((int)strlen(buf) <= *n) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) break; if (*dp) { diff --git a/raster/r.resamp.bspline/resamp.c b/raster/r.resamp.bspline/resamp.c index 7bb36425448..ae11a71ee36 100644 --- a/raster/r.resamp.bspline/resamp.c +++ b/raster/r.resamp.bspline/resamp.c @@ -162,6 +162,7 @@ int P_Sparse_Raster_Points(SEGMENT *out_seg, struct Cell_head *Elaboration, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= points_in_box++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -170,6 +171,11 @@ int P_Sparse_Raster_Points(SEGMENT *out_seg, struct Cell_head *Elaboration, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + points_in_box++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_debug(3, "P_Sparse_Raster_Points: interpolate point %d...", i); if (bilin) diff --git a/raster/r.resamp.filter/Makefile b/raster/r.resamp.filter/Makefile index ab04cfbde90..659f4d3d1b3 100644 --- a/raster/r.resamp.filter/Makefile +++ b/raster/r.resamp.filter/Makefile @@ -4,10 +4,14 @@ PGM = r.resamp.filter <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) LIBES = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OPENMP_CFLAGS) EXTRA_INC = $(OPENMP_INCPATH) +<<<<<<< HEAD ======= LIBES = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OMPLIB) DEPENDENCIES = $(RASTERDEP) $(GISDEP) @@ -19,6 +23,8 @@ DEPENDENCIES = $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OPENMP_CFLAGS) EXTRA_INC = $(OPENMP_INCPATH) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) include $(MODULE_TOPDIR)/include/Make/Module.make diff --git a/raster/r.resamp.filter/main.c b/raster/r.resamp.filter/main.c index 68bc05651e0..0636224b270 100644 --- a/raster/r.resamp.filter/main.c +++ b/raster/r.resamp.filter/main.c @@ -4,6 +4,7 @@ * AUTHOR(S): Glynn Clements <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD * Aaron Saw Min Sern (OpenMP parallelization) * PURPOSE: @@ -14,11 +15,19 @@ * PURPOSE: * COPYRIGHT: (C) 2010 by Glynn Clements and the GRASS Development Team >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= + * PURPOSE: + * COPYRIGHT: (C) 2010 by Glynn Clements and the GRASS Development Team +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= * Aaron Saw Min Sern (OpenMP parallelization) * PURPOSE: * COPYRIGHT: (C) 2010-2023 by Glynn Clements and the GRASS Development Team +<<<<<<< HEAD >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) * * This program is free software under the GNU General Public * License (>=v2). Read the file COPYING that comes with GRASS @@ -123,6 +132,7 @@ static const struct filter_type menu[] = { {"blackman", f_blackman, 0}, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD {NULL, NULL, 0}, ======= @@ -133,6 +143,12 @@ static const struct filter_type menu[] = { ======= {NULL, NULL, 0}, >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= + {NULL}, +======= + {NULL, NULL, 0}, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) }; static char *build_filter_list(void) @@ -349,6 +365,7 @@ static void filter(void) make_h_weights(); make_v_weights(); +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD while (written_row < dst_w.rows) { @@ -425,6 +442,8 @@ static void filter(void) } written_row = end; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (row = 0; row < dst_w.rows; row++) { int row0 = maprow0[row]; int row1 = maprow1[row]; @@ -513,12 +532,90 @@ static void filter(void) Rast_put_d_row(outfile, outbuf); G_debug(5, "write: %d", row); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= written_row = end; >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= +======= + while (written_row < dst_w.rows) { + int range = bufrows; + + if (range > dst_w.rows - written_row) { + range = dst_w.rows - written_row; + } + int start = written_row; + int end = written_row + range; + +#pragma omp parallel private(row) + { + int read_row = 0; + int num_rows = 0; + int t_id = 0; + +#if defined(_OPENMP) + t_id = omp_get_thread_num(); +#endif + +#pragma omp for schedule(static, 1) + for (row = start; row < end; row++) { + int row0 = maprow0[row]; + int row1 = maprow1[row]; + int rows = row1 - row0; + int i; + + G_percent(computed_row, dst_w.rows, 2); + + if (row0 >= read_row && row0 < read_row + num_rows) { + int m = row0 - read_row; + int n = read_row + num_rows - row0; + int i; + + for (i = 0; i < n; i++) { + DCELL *tmp = bufs[t_id][i]; + + bufs[t_id][i] = bufs[t_id][m + i]; + bufs[t_id][m + i] = tmp; + } + + read_row = row0; + num_rows = n; + } + else { + read_row = row0; + num_rows = 0; + } + + for (i = num_rows; i < rows; i++) { + G_debug(5, "read: %p = %d", bufs[t_id][i], row0 + i); + /* enlarging the source window to the North and South is + * not possible for global maps in ll */ + if (row0 + i >= 0 && row0 + i < src_w.rows) + Rast_get_d_row(infile[t_id], inbuf[t_id], row0 + i); + else + Rast_set_d_null_value(inbuf[t_id], src_w.cols); + h_filter(bufs[t_id][i], inbuf[t_id]); + } + + num_rows = rows; + + v_filter(&outbuf[(row - start) * dst_w.cols], bufs[t_id], row, + rows); +#pragma omp atomic update + computed_row++; + } + } + + for (row = start; row < end; row++) { + Rast_put_d_row(outfile, &outbuf[(row - start) * dst_w.cols]); + G_debug(5, "write: %d", row); + } + written_row = end; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } G_percent(dst_w.rows, dst_w.rows, 2); } @@ -529,6 +626,7 @@ int main(int argc, char *argv[]) struct { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD struct Option *rastin, *rastout, *method, *radius, *x_radius, *y_radius, *memory, *nprocs; @@ -542,6 +640,13 @@ int main(int argc, char *argv[]) struct Option *rastin, *rastout, *method, *radius, *x_radius, *y_radius, *memory, *nprocs; >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= + struct Option *rastin, *rastout, *method, *radius, *x_radius, *y_radius; +======= + struct Option *rastin, *rastout, *method, *radius, *x_radius, *y_radius, + *memory, *nprocs; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } parm; struct { struct Flag *nulls; @@ -549,10 +654,13 @@ int main(int argc, char *argv[]) char title[64]; int i, t; int nprocs; +<<<<<<< HEAD <<<<<<< HEAD size_t in_buf_size, out_buf_size; ======= >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_gisinit(argv[0]); @@ -619,6 +727,22 @@ int main(int argc, char *argv[]) if (G_parser(argc, argv)) exit(EXIT_FAILURE); +<<<<<<< HEAD +======= + + sscanf(parm.nprocs->answer, "%d", &nprocs); + if (nprocs < 1) { + G_fatal_error(_("<%d> is not valid number of threads."), nprocs); + } +#if defined(_OPENMP) + omp_set_num_threads(nprocs); +#else + if (nprocs != 1) + G_warning(_("GRASS is compiled without OpenMP support. Ignoring " + "threads setting.")); + nprocs = 1; +#endif +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) sscanf(parm.nprocs->answer, "%d", &nprocs); if (nprocs < 1) { @@ -760,6 +884,7 @@ int main(int argc, char *argv[]) /* allocate buffers for intermediate rows */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) bufs = G_malloc(nprocs * sizeof(DCELL **)); @@ -779,10 +904,24 @@ int main(int argc, char *argv[]) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= + bufs = G_malloc(row_scale * sizeof(DCELL *)); + for (i = 0; i < row_scale; i++) + bufs[i] = Rast_allocate_d_buf(); +======= + bufs = G_malloc(nprocs * sizeof(DCELL **)); + for (t = 0; t < nprocs; t++) { + bufs[t] = G_malloc(row_scale * sizeof(DCELL *)); + for (i = 0; i < row_scale; i++) + bufs[t][i] = Rast_allocate_d_buf(); + } +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast_set_input_window(&src_w); Rast_set_output_window(&dst_w); +<<<<<<< HEAD <<<<<<< HEAD /* memory reserved for input */ in_buf_size = dst_w.cols * sizeof(DCELL) * row_scale * nprocs; @@ -804,12 +943,17 @@ int main(int argc, char *argv[]) bufrows = nprocs; } ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) bufrows = atoi(parm.memory->answer) * (((1 << 20) / sizeof(DCELL)) / dst_w.cols); if (bufrows > dst_w.rows) { bufrows = dst_w.rows; } +<<<<<<< HEAD >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) inbuf = G_malloc(nprocs * sizeof(DCELL *)); for (t = 0; t < nprocs; t++) diff --git a/raster/r.resamp.filter/r.resamp.filter.html b/raster/r.resamp.filter/r.resamp.filter.html index 9880b92c7c6..5c2754143ee 100644 --- a/raster/r.resamp.filter/r.resamp.filter.html +++ b/raster/r.resamp.filter/r.resamp.filter.html @@ -79,8 +79,12 @@

      NOTES

      <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

      PERFORMANCE

      By specifying the number of parallel processes with nprocs option, r.resamp.filter can run faster, see benchmarks below. @@ -96,6 +100,7 @@

      PERFORMANCE

      needs to compiled with OpenMP enabled. +<<<<<<< HEAD <<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -103,6 +108,9 @@

      PERFORMANCE

      >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

      SEE ALSO

      diff --git a/raster/r.resamp.interp/Makefile b/raster/r.resamp.interp/Makefile index da41afbd2e1..7ce80efeda8 100644 --- a/raster/r.resamp.interp/Makefile +++ b/raster/r.resamp.interp/Makefile @@ -5,6 +5,7 @@ PGM = r.resamp.interp <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD LIBES = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OPENMP_CFLAGS) @@ -20,11 +21,20 @@ DEPENDENCIES = $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OMPCFLAGS) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +LIBES = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OMPLIB) +DEPENDENCIES = $(RASTERDEP) $(GISDEP) +EXTRA_CFLAGS = $(OMPCFLAGS) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= LIBES = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OPENMP_CFLAGS) EXTRA_INC = $(OPENMP_INCPATH) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) include $(MODULE_TOPDIR)/include/Make/Module.make diff --git a/raster/r.resamp.rst/main.c b/raster/r.resamp.rst/main.c index c2e34e93320..7a3625abc21 100644 --- a/raster/r.resamp.rst/main.c +++ b/raster/r.resamp.rst/main.c @@ -547,6 +547,7 @@ static FILE *create_temp_file(const char *name, char **tmpname) for (i = 0; i < nsizr; i++) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (fwrite(zero_array_cell, sizeof(FCELL), nsizc, fp) != (size_t)nsizc) { @@ -560,6 +561,13 @@ static FILE *create_temp_file(const char *name, char **tmpname) if (fwrite(zero_array_cell, sizeof(FCELL), nsizc, fp) != (size_t)nsizc) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (fwrite(zero_array_cell, sizeof(FCELL), nsizc, fp) != nsizc) { +======= + if (fwrite(zero_array_cell, sizeof(FCELL), nsizc, fp) != + (size_t)nsizc) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) clean(); G_fatal_error(_("Error writing temporary file <%s>"), *tmpname); } diff --git a/raster/r.series.accumulate/main.c b/raster/r.series.accumulate/main.c index 08cd09cdda4..2aa526926b6 100644 --- a/raster/r.series.accumulate/main.c +++ b/raster/r.series.accumulate/main.c @@ -173,6 +173,7 @@ int main(int argc, char *argv[]) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD lo = -INFINITY; hi = INFINITY; @@ -190,6 +191,15 @@ int main(int argc, char *argv[]) lo = -INFINITY; hi = INFINITY; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + lo = -1.0 / 0.0; /* -inf */ + hi = 1.0 / 0.0; /* inf */ + +======= + lo = -INFINITY; + hi = INFINITY; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) method = METHOD_GDD; if (G_strncasecmp(parm.method->answer, "gdd", 3) == 0) method = METHOD_GDD; diff --git a/raster/r.series/Makefile b/raster/r.series/Makefile index 7869806305c..0aae02ec837 100644 --- a/raster/r.series/Makefile +++ b/raster/r.series/Makefile @@ -5,6 +5,7 @@ PGM = r.series <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD LIBES = $(STATSLIB) $(RASTERLIB) $(GISLIB) EXTRA_LIBS = $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(STATSDEP) $(RASTERDEP) $(GISDEP) @@ -21,12 +22,21 @@ DEPENDENCIES = $(STATSDEP) $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OMPCFLAGS) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +LIBES = $(STATSLIB) $(RASTERLIB) $(GISLIB) $(OMPLIB) +DEPENDENCIES = $(STATSDEP) $(RASTERDEP) $(GISDEP) +EXTRA_CFLAGS = $(OMPCFLAGS) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= LIBES = $(STATSLIB) $(RASTERLIB) $(GISLIB) EXTRA_LIBS = $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(STATSDEP) $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OPENMP_CFLAGS) EXTRA_INC = $(OPENMP_INCPATH) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) include $(MODULE_TOPDIR)/include/Make/Module.make diff --git a/raster/r.series/main.c b/raster/r.series/main.c index a53deb5bb08..faa54044ae1 100644 --- a/raster/r.series/main.c +++ b/raster/r.series/main.c @@ -340,6 +340,7 @@ int main(int argc, char *argv[]) if (G_parser(argc, argv)) exit(EXIT_FAILURE); <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD @@ -381,6 +382,8 @@ int main(int argc, char *argv[]) } >>>>>>> 268d757b7d (ci: Ignore paths in CodeQL (#1778)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) sscanf(parm.nprocs->answer, "%d", &nprocs); if (nprocs < 1) { @@ -402,7 +405,33 @@ int main(int argc, char *argv[]) lo = atof(parm.range->answers[0]); hi = atof(parm.range->answers[1]); } +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + + sscanf(parm.nprocs->answer, "%d", &nprocs); + if (nprocs < 1) { + G_fatal_error(_("<%d> is not valid number of nprocs."), nprocs); + } +#if defined(_OPENMP) + omp_set_num_threads(nprocs); + threaded = nprocs > 1; +#else + if (nprocs != 1) + G_warning(_("GRASS is compiled without OpenMP support. Ignoring " + "threads setting.")); + nprocs = 1; +#endif + + lo = -INFINITY; + hi = INFINITY; + if (parm.range->answer) { + lo = atof(parm.range->answers[0]); + hi = atof(parm.range->answers[1]); + } +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (parm.input->answer && parm.file->answer) G_fatal_error(_("%s= and %s= are mutually exclusive"), parm.input->key, diff --git a/raster/r.sim/r.sim.sediment/r.sim.sediment.html b/raster/r.sim/r.sim.sediment/r.sim.sediment.html index 1cd3742bf67..0ac00472403 100644 --- a/raster/r.sim/r.sim.sediment/r.sim.sediment.html +++ b/raster/r.sim/r.sim.sediment/r.sim.sediment.html @@ -65,6 +65,7 @@

      REFERENCES

      <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 196338e256 (wxpyimgview: explicit conversion to int (#2704)) ======= <<<<<<< HEAD @@ -72,6 +73,9 @@

      REFERENCES

      ======= <<<<<<< HEAD >>>>>>> 28bb012175 (r.horizon manual - fix typo (#2794)) +======= +<<<<<<< HEAD +>>>>>>> 33ce576706 (r.horizon manual - fix typo (#2794)) Mitasova H, Mitas, L., 2000, Modeling spatial processes in multiscale framework: ======= Mitasova H, Mitas, L., 2000, Modeling spatial processes in multiscale framework: @@ -82,6 +86,12 @@

      REFERENCES

      ======= Mitasova H, Mitas, L., 2000, Modeling spatial processes in multiscale framework: >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Mitasova H, Mitas, L., 2000, Modeling spatial processes in multiscale framework: +======= +Mitasova H, Mitas, L., 2000, Modeling spatial processes in multiscale framework: +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) exploring duality between particles and fields, plenary talk at GIScience2000 conference, Savannah, GA.

      diff --git a/raster/r.sim/simlib/hydro.c b/raster/r.sim/simlib/hydro.c index 92592ad49ab..7fafd9de542 100644 --- a/raster/r.sim/simlib/hydro.c +++ b/raster/r.sim/simlib/hydro.c @@ -122,6 +122,7 @@ void main_loop(void) int i, ii, l, k; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* int icoub, nmult */; ======= @@ -133,6 +134,12 @@ void main_loop(void) ======= /* int icoub, nmult */; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int icoub /*, nmult */; +======= + /* int icoub, nmult */; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int iw, iblock, lw; int itime, iter1; @@ -154,6 +161,7 @@ void main_loop(void) nblock = 1; <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* icoub = 0; */ ======= @@ -165,6 +173,12 @@ void main_loop(void) ======= /* icoub = 0; */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + icoub = 0; +======= + /* icoub = 0; */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* icfl = 0; */ nstack = 0; @@ -182,6 +196,7 @@ void main_loop(void) for (iblock = 1; iblock <= nblock; iblock++) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* ++icoub; */ ======= @@ -193,6 +208,12 @@ void main_loop(void) ======= /* ++icoub; */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + ++icoub; +======= + /* ++icoub; */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) lw = 0; walkwe = 0.; diff --git a/raster/r.slope.aspect/Makefile b/raster/r.slope.aspect/Makefile index b1f4a1c071f..34d70a2af9c 100644 --- a/raster/r.slope.aspect/Makefile +++ b/raster/r.slope.aspect/Makefile @@ -5,6 +5,7 @@ PGM = r.slope.aspect <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD LIBES = $(RASTERLIB) $(GISLIB) $(MATHLIB) EXTRA_LIBS = $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(RASTERDEP) $(GISDEP) @@ -21,12 +22,21 @@ DEPENDENCIES = $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OMPCFLAGS) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +LIBES = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OMPLIB) +DEPENDENCIES = $(RASTERDEP) $(GISDEP) +EXTRA_CFLAGS = $(OMPCFLAGS) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= LIBES = $(RASTERLIB) $(GISLIB) $(MATHLIB) EXTRA_LIBS = $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(RASTERDEP) $(GISDEP) EXTRA_CFLAGS = $(OPENMP_CFLAGS) EXTRA_INC = $(OPENMP_INCPATH) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) include $(MODULE_TOPDIR)/include/Make/Module.make diff --git a/raster/r.slope.aspect/r.slope.aspect.html b/raster/r.slope.aspect/r.slope.aspect.html index 23bb1f413fb..f0789ad7d6b 100644 --- a/raster/r.slope.aspect/r.slope.aspect.html +++ b/raster/r.slope.aspect/r.slope.aspect.html @@ -182,6 +182,7 @@

      PERFORMANCE

      <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD (default 300) can also be provided to determine the size of the buffer for ======= (default 300) can also be provided to determine the size of the buffer for @@ -192,6 +193,12 @@

      PERFORMANCE

      ======= (default 300) can also be provided to determine the size of the buffer for >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +(default 300) can also be provided to determine the size of the buffer for +======= +(default 300) can also be provided to determine the size of the buffer for +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) computation.
      diff --git a/raster/r.solute.transport/main.c b/raster/r.solute.transport/main.c index 755a585f6b5..0cd5a3ff59d 100644 --- a/raster/r.solute.transport/main.c +++ b/raster/r.solute.transport/main.c @@ -42,6 +42,7 @@ paramType param; /*Parameters */ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void set_params(void); /*Fill the paramType structure */ ======= void set_params(); /*Fill the paramType structure */ @@ -52,6 +53,12 @@ void set_params(); /*Fill the paramType structure */ ======= void set_params(void); /*Fill the paramType structure */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void set_params(); /*Fill the paramType structure */ +======= +void set_params(void); /*Fill the paramType structure */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void copy_result(N_array_2d *status, N_array_2d *c_start, double *result, struct Cell_head *region, N_array_2d *target, int tflag); N_les *create_solve_les(N_geom_data *geom, N_solute_transport_data2d *data, diff --git a/raster/r.solute.transport/r.solute.transport.html b/raster/r.solute.transport/r.solute.transport.html index 423a348943c..55e77b09d1a 100644 --- a/raster/r.solute.transport/r.solute.transport.html +++ b/raster/r.solute.transport/r.solute.transport.html @@ -158,6 +158,7 @@

      AUTHOR

      at Technical University Berlin in Germany. <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= <<<<<<< HEAD @@ -166,3 +167,8 @@

      AUTHOR

      >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.stats.quantile/r.stats.quantile.html b/raster/r.stats.quantile/r.stats.quantile.html index c14743af4d3..e245741582e 100644 --- a/raster/r.stats.quantile/r.stats.quantile.html +++ b/raster/r.stats.quantile/r.stats.quantile.html @@ -47,6 +47,7 @@

      REFERENCES

      <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD
    • Hyndman and Fan (1996) Sample Quantiles in Statistical Packages, American Statistician. American Statistical Association. 50 (4): 361-365. DOI: REFERENCES ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
    • Hyndman and Fan (1996) Sample Quantiles in Statistical Packages, American Statistician. American Statistical Association. 50 (4): 361-365. DOI: REFERENCES
    • Engineering <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +=======
    • Hyndman and Fan (1996) Sample Quantiles in Statistical Packages, American Statistician. American Statistical Association. 50 (4): 361-365. DOI: 10.2307/2684934
    • Engineering +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Statistics Handbook: Percentile, NIST
    diff --git a/raster/r.sun/TODO b/raster/r.sun/TODO index 4af573283e7..e4a71b27dc4 100644 --- a/raster/r.sun/TODO +++ b/raster/r.sun/TODO @@ -5,7 +5,10 @@ TODO Probably the sun position calculation should be replaced ======= Probably the sun position calculation shouldbe replaced +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) with G_calc_solar_position() diff --git a/raster/r.sun/local_proto.h b/raster/r.sun/local_proto.h index cbb9c31a3eb..7bafbf679a6 100644 --- a/raster/r.sun/local_proto.h +++ b/raster/r.sun/local_proto.h @@ -21,6 +21,7 @@ int searching_parallel(double *length, double *sunVarGeom_z_orig, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD int useCivilTime(void); ======= ======= @@ -30,6 +31,12 @@ int useCivilTime(); ======= int useCivilTime(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +int useCivilTime(); +======= +int useCivilTime(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void setUseCivilTime(int val); int useShadow(void); void setUseShadow(int val); @@ -43,6 +50,7 @@ double getHorizonInterval(void); void setHorizonInterval(double val); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void setAngularLossDenominator(void); ======= void setAngularLossDenominator(); @@ -53,6 +61,12 @@ void setAngularLossDenominator(); ======= void setAngularLossDenominator(void); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void setAngularLossDenominator(); +======= +void setAngularLossDenominator(void); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* void cube(int, int); */ diff --git a/raster/r.sun/r.sun.html b/raster/r.sun/r.sun.html index 66767ff69eb..f6746e74dbb 100644 --- a/raster/r.sun/r.sun.html +++ b/raster/r.sun/r.sun.html @@ -152,6 +152,7 @@

    DESCRIPTION

    or winter period). Elevation, aspect and slope input values should not be <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD reclassified into coarser categories. This could lead to incorrect results. ======= reclassified into coarser categories. This could lead to incorrect results. @@ -162,6 +163,12 @@

    DESCRIPTION

    ======= reclassified into coarser categories. This could lead to incorrect results. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +reclassified into coarser categories. This could lead to incorrect results. +======= +reclassified into coarser categories. This could lead to incorrect results. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    OPTIONS

    diff --git a/raster/r.support/main.c b/raster/r.support/main.c index 7ff7d7a32e4..d95075df748 100644 --- a/raster/r.support/main.c +++ b/raster/r.support/main.c @@ -303,6 +303,7 @@ int main(int argc, char *argv[]) if (strlen(history_opt->answer) > 71) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (unsigned int i = 0; i < strlen(history_opt->answer); i += 71) { char buf[72]; @@ -336,6 +337,8 @@ int main(int argc, char *argv[]) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int i; for (i = 0; i < strlen(history_opt->answer); i += 71) { @@ -350,7 +353,24 @@ int main(int argc, char *argv[]) else Rast_append_history(&hist, history_opt->answer); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + for (unsigned int i = 0; i < strlen(history_opt->answer); i += 71) { + char buf[72]; + + strncpy(buf, &history_opt->answer[i], sizeof(buf) - 1); + buf[sizeof(buf) - 1] = '\0'; + + Rast_append_history(&hist, buf); + } + } + else + Rast_append_history(&hist, history_opt->answer); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast_write_history(raster->answer, &hist); } diff --git a/raster/r.support/r.support.html b/raster/r.support/r.support.html index 76944a515a3..f4c7d720231 100644 --- a/raster/r.support/r.support.html +++ b/raster/r.support/r.support.html @@ -1,9 +1,18 @@

    DESCRIPTION

    +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD r.support allows the user to create and/or edit raster map support information. Editing of raster map color tables, category labels, header, +======= +r.support allows the user to create and/or edit raster map support +information. Editing of raster map color tables, category labels, header, +======= +r.support allows the user to create and/or edit raster map support +information. Editing of raster map color tables, category labels, header, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) history, semantic label elements and title is supported. Category labels can also be copied from another raster map. @@ -129,6 +138,7 @@

    AUTHORS

    <<<<<<< HEAD Maris Nartiss: semantic label management <<<<<<< HEAD +<<<<<<< HEAD ======= Maris Nartiss: band reference management ======= @@ -141,3 +151,8 @@

    AUTHORS

    >>>>>>> da7f79c3f9 (libpython: Save and load benchmark results (#1711)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.surf.idw/r.surf.idw.html b/raster/r.surf.idw/r.surf.idw.html index 5aeaa41435b..f903abcbfc6 100644 --- a/raster/r.surf.idw/r.surf.idw.html +++ b/raster/r.surf.idw/r.surf.idw.html @@ -125,6 +125,7 @@

    AUTHOR

    200 S.W. 35th Street, JSB
    <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Corvallis, OR 97333 ======= Corvallis, OR 97333 @@ -135,3 +136,9 @@

    AUTHOR

    ======= Corvallis, OR 97333 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Corvallis, OR 97333 +======= +Corvallis, OR 97333 +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.terraflow/ccforest.h b/raster/r.terraflow/ccforest.h index 9e0470927e0..d2a9b19bc79 100644 --- a/raster/r.terraflow/ccforest.h +++ b/raster/r.terraflow/ccforest.h @@ -43,9 +43,12 @@ class keyvalue { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) keyvalue operator=(const keyvalue &that) { key = that.key; @@ -53,11 +56,16 @@ class keyvalue { return *this; }; <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int operator!=(const keyvalue &e2) const { return (key != e2.key) || (value != e2.value); @@ -162,6 +170,7 @@ class ccforest { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) ccforest(const ccforest &) = delete; @@ -179,6 +188,17 @@ class ccforest { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= + ~ccforest(); +======= + ccforest(const ccforest &) = delete; + ccforest &operator=(const ccforest &) = delete; + ccforest(ccforest &&) = delete; + ccforest &operator=(ccforest &&) = delete; + ~ccforest(); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void insert(const T &i, const T &j); /* insert edge (i,j) */ T findNextRoot(const T &i); /* find root where i >= prev i */ void printRootStream(); diff --git a/raster/r.terraflow/common.cpp b/raster/r.terraflow/common.cpp index 8682186081f..03938a0356d 100644 --- a/raster/r.terraflow/common.cpp +++ b/raster/r.terraflow/common.cpp @@ -95,6 +95,7 @@ void *LargeMemory::alloc(size_t leng) char buf[BUFSIZ], buf2[32]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, BUFSIZ, "allocated large memory: %s 0x%lX", formatNumber(buf2, leng), (unsigned long)p); @@ -110,6 +111,14 @@ void *LargeMemory::alloc(size_t leng) snprintf(buf, BUFSIZ, "allocated large memory: %s 0x%lX", formatNumber(buf2, leng), (unsigned long)p); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "allocated large memory: %s 0x%lX", + formatNumber(buf2, leng), (unsigned long)p); +======= + snprintf(buf, BUFSIZ, "allocated large memory: %s 0x%lX", + formatNumber(buf2, leng), (unsigned long)p); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) stats->comment(buf); } return p; @@ -138,6 +147,7 @@ void LargeMemory::free(void *p) char buf[BUFSIZ], buf2[32]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, BUFSIZ, "freed large memory: %s 0x%lX", formatNumber(buf2, len[i]), (unsigned long)p); @@ -153,6 +163,14 @@ void LargeMemory::free(void *p) snprintf(buf, BUFSIZ, "freed large memory: %s 0x%lX", formatNumber(buf2, len[i]), (unsigned long)p); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "freed large memory: %s 0x%lX", formatNumber(buf2, len[i]), + (unsigned long)p); +======= + snprintf(buf, BUFSIZ, "freed large memory: %s 0x%lX", + formatNumber(buf2, len[i]), (unsigned long)p); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) stats->comment(buf); } diff --git a/raster/r.terraflow/fill.cpp b/raster/r.terraflow/fill.cpp index 4fcd0edaf65..beac95aebc1 100644 --- a/raster/r.terraflow/fill.cpp +++ b/raster/r.terraflow/fill.cpp @@ -75,6 +75,7 @@ class printElevation { static char buf[20]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), "%.1f", (float)p); ======= @@ -86,6 +87,12 @@ class printElevation { ======= snprintf(buf, sizeof(buf), "%.1f", (float)p); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "%.1f", (float)p); +======= + snprintf(buf, sizeof(buf), "%.1f", (float)p); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } }; @@ -97,6 +104,7 @@ class printDirection { static char buf[20]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), "%3d", p); ======= @@ -108,6 +116,12 @@ class printDirection { ======= snprintf(buf, sizeof(buf), "%3d", p); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "%3d", p); +======= + snprintf(buf, sizeof(buf), "%3d", p); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } char *operator()(const waterWindowBaseType &p) @@ -115,6 +129,7 @@ class printDirection { static char buf[20]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), "%3d", p.dir); ======= @@ -126,6 +141,12 @@ class printDirection { ======= snprintf(buf, sizeof(buf), "%3d", p.dir); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "%3d", p.dir); +======= + snprintf(buf, sizeof(buf), "%3d", p.dir); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } #if (0) @@ -146,6 +167,7 @@ class printLabel { static char buf[8]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), CCLABEL_FMT, p.getLabel()); ======= @@ -157,6 +179,12 @@ class printLabel { ======= snprintf(buf, sizeof(buf), CCLABEL_FMT, p.getLabel()); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, CCLABEL_FMT, p.getLabel()); +======= + snprintf(buf, sizeof(buf), CCLABEL_FMT, p.getLabel()); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } char *operator()(const waterGridType &p) @@ -164,6 +192,7 @@ class printLabel { static char buf[8]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), CCLABEL_FMT, p.getLabel()); ======= @@ -175,6 +204,12 @@ class printLabel { ======= snprintf(buf, sizeof(buf), CCLABEL_FMT, p.getLabel()); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, CCLABEL_FMT, p.getLabel()); +======= + snprintf(buf, sizeof(buf), CCLABEL_FMT, p.getLabel()); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } char *operator()(const waterType &p) @@ -182,6 +217,7 @@ class printLabel { static char buf[8]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), CCLABEL_FMT, p.getLabel()); ======= @@ -193,6 +229,12 @@ class printLabel { ======= snprintf(buf, sizeof(buf), CCLABEL_FMT, p.getLabel()); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, CCLABEL_FMT, p.getLabel()); +======= + snprintf(buf, sizeof(buf), CCLABEL_FMT, p.getLabel()); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } }; @@ -204,6 +246,7 @@ class printDepth { static char buf[3]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), "%1u", p.depth); ======= @@ -215,6 +258,12 @@ class printDepth { ======= snprintf(buf, sizeof(buf), "%1u", p.depth); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "%1u", p.depth); +======= + snprintf(buf, sizeof(buf), "%1u", p.depth); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } }; @@ -224,6 +273,7 @@ char *verbosedir(const std::string &s) static char buf[BUFSIZ]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, BUFSIZ, "dump/%s", s.c_str()); ======= @@ -235,6 +285,12 @@ char *verbosedir(const std::string &s) ======= snprintf(buf, BUFSIZ, "dump/%s", s.c_str()); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "dump/%s", s.c_str()); +======= + snprintf(buf, BUFSIZ, "dump/%s", s.c_str()); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } @@ -463,6 +519,7 @@ computeFlowDirections(AMI_STREAM *&elstr, assert(base_dir); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(path, BUFSIZ, "%s/flowStream", base_dir); ======= @@ -474,6 +531,12 @@ computeFlowDirections(AMI_STREAM *&elstr, ======= snprintf(path, BUFSIZ, "%s/flowStream", base_dir); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(path, "%s/flowStream", base_dir); +======= + snprintf(path, BUFSIZ, "%s/flowStream", base_dir); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) flowStream = new AMI_STREAM(path); /*flowStream->persist(PERSIST_PERSISTENT); */ if (stats) diff --git a/raster/r.terraflow/genericWindow.h b/raster/r.terraflow/genericWindow.h index 6463698944b..667ec994b98 100644 --- a/raster/r.terraflow/genericWindow.h +++ b/raster/r.terraflow/genericWindow.h @@ -88,8 +88,19 @@ class genericWindow { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= + genericWindow(const genericWindow &win) + { + for (int i = 0; i < 9; i++) { + data[i] = win.data[i]; + } + } + + /***************************************************************/ +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* get specified neighbour di,dj in {-1,0,1} */ T get(short di, short dj) const { @@ -125,6 +136,7 @@ class genericWindow { /***************************************************************/ ======= +<<<<<<< HEAD genericWindow(const genericWindow &win) { for (int i = 0; i < 9; i++) { @@ -133,6 +145,8 @@ class genericWindow { } /***************************************************************/ +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* get specified neighbour di,dj in {-1,0,1} */ T get(short di, short dj) const { @@ -158,6 +172,7 @@ class genericWindow { } /***************************************************************/ +<<<<<<< HEAD ======= genericWindow(const genericWindow &win) { @@ -193,6 +208,8 @@ class genericWindow { /***************************************************************/ >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* set specified neighbour di,dj in {-1,0,1} */ void set(int di, int dj, T val) { @@ -203,9 +220,13 @@ class genericWindow { /***************************************************************/ <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* multiply all elements by a scalar */ void scalarMultiply(T mult) { diff --git a/raster/r.terraflow/main.cpp b/raster/r.terraflow/main.cpp index a651cd07960..bf90e9f1755 100644 --- a/raster/r.terraflow/main.cpp +++ b/raster/r.terraflow/main.cpp @@ -340,6 +340,7 @@ void record_args(int argc, char **argv) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, BUFSIZ, "D8CUT=%f", opt->d8cut); ======= @@ -351,6 +352,12 @@ void record_args(int argc, char **argv) ======= snprintf(buf, BUFSIZ, "D8CUT=%f", opt->d8cut); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "D8CUT=%f", opt->d8cut); +======= + snprintf(buf, BUFSIZ, "D8CUT=%f", opt->d8cut); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) stats->comment(buf); size_t mm_size = (size_t)opt->mem << 20; /* (in bytes) */ @@ -358,6 +365,7 @@ void record_args(int argc, char **argv) formatNumber(tmp, mm_size); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, BUFSIZ, "Memory size: %s bytes", tmp); ======= @@ -369,6 +377,12 @@ void record_args(int argc, char **argv) ======= snprintf(buf, BUFSIZ, "Memory size: %s bytes", tmp); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "Memory size: %s bytes", tmp); +======= + snprintf(buf, BUFSIZ, "Memory size: %s bytes", tmp); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) stats->comment(buf); } @@ -537,6 +551,7 @@ int main(int argc, char *argv[]) /* check STREAM path (the place where intermediate STREAMs are placed) */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, BUFSIZ, "%s=%s", STREAM_TMPDIR, opt->streamdir); ======= @@ -548,6 +563,12 @@ int main(int argc, char *argv[]) ======= snprintf(buf, BUFSIZ, "%s=%s", STREAM_TMPDIR, opt->streamdir); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "%s=%s", STREAM_TMPDIR, opt->streamdir); +======= + snprintf(buf, BUFSIZ, "%s=%s", STREAM_TMPDIR, opt->streamdir); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* don't pass an automatic variable; putenv() isn't guaranteed to make a * copy */ putenv(G_store(buf)); @@ -645,6 +666,7 @@ int main(int argc, char *argv[]) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(path, GPATH_MAX, "%s/flowStream", streamdir->answer); ======= @@ -656,6 +678,12 @@ int main(int argc, char *argv[]) ======= snprintf(path, GPATH_MAX, "%s/flowStream", streamdir->answer); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(path, "%s/flowStream", streamdir->answer); +======= + snprintf(path, GPATH_MAX, "%s/flowStream", streamdir->answer); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) flowStream = new AMI_STREAM(path); G_verbose_message(_("flowStream opened: len=%lld\n", flowStream->stream_len()); G_verbose_message(_("jumping to flow accumulation computation\n"); diff --git a/raster/r.terraflow/nodata.h b/raster/r.terraflow/nodata.h index cf524207872..2324452b533 100644 --- a/raster/r.terraflow/nodata.h +++ b/raster/r.terraflow/nodata.h @@ -61,6 +61,7 @@ class nodataType : public ijBaseType { static char buf[8]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), CCLABEL_FMT, p.label); ======= @@ -72,6 +73,12 @@ class nodataType : public ijBaseType { ======= snprintf(buf, sizeof(buf), CCLABEL_FMT, p.label); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, CCLABEL_FMT, p.label); +======= + snprintf(buf, sizeof(buf), CCLABEL_FMT, p.label); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } diff --git a/raster/r.terraflow/plateau.h b/raster/r.terraflow/plateau.h index 7daf8d24da3..76919ab2e84 100644 --- a/raster/r.terraflow/plateau.h +++ b/raster/r.terraflow/plateau.h @@ -50,6 +50,7 @@ class plateauType : public ijBaseType { static char buf[8]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), CCLABEL_FMT, p.cclabel); ======= @@ -61,6 +62,12 @@ class plateauType : public ijBaseType { ======= snprintf(buf, sizeof(buf), CCLABEL_FMT, p.cclabel); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, CCLABEL_FMT, p.cclabel); +======= + snprintf(buf, sizeof(buf), CCLABEL_FMT, p.cclabel); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } diff --git a/raster/r.terraflow/stats.cpp b/raster/r.terraflow/stats.cpp index 7fd45184a2a..d5172c1b9da 100644 --- a/raster/r.terraflow/stats.cpp +++ b/raster/r.terraflow/stats.cpp @@ -98,6 +98,7 @@ int noclobberFile(char *fname) G_debug(1, "file %s exists - renaming.\n", fname); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, BUFSIZ, "%s.old", fname); ======= @@ -109,6 +110,12 @@ int noclobberFile(char *fname) ======= snprintf(buf, BUFSIZ, "%s.old", fname); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "%s.old", fname); +======= + snprintf(buf, BUFSIZ, "%s.old", fname); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (rename(fname, buf) != 0) { G_fatal_error("%s", fname); } @@ -132,6 +139,7 @@ char *noclobberFileName(char *fname) G_debug(1, "file %s exists - renaming.\n", fname); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, BUFSIZ, "%s.old", fname); ======= @@ -143,6 +151,12 @@ char *noclobberFileName(char *fname) ======= snprintf(buf, BUFSIZ, "%s.old", fname); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "%s.old", fname); +======= + snprintf(buf, BUFSIZ, "%s.old", fname); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (rename(fname, buf) != 0) { G_fatal_error("%s", fname); } @@ -170,6 +184,7 @@ char *statsRecorder::timestamp() rt_stop(tm); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, BUFSIZ, "[%.1f] ", rt_seconds(tm)); ======= @@ -181,6 +196,12 @@ char *statsRecorder::timestamp() ======= snprintf(buf, BUFSIZ, "[%.1f] ", rt_seconds(tm)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "[%.1f] ", rt_seconds(tm)); +======= + snprintf(buf, BUFSIZ, "[%.1f] ", rt_seconds(tm)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } @@ -204,6 +225,7 @@ void statsRecorder::comment(const char *s1, const char *s2) char buf[BUFSIZ]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, BUFSIZ, "%s%s", s1, s2); ======= @@ -215,6 +237,12 @@ void statsRecorder::comment(const char *s1, const char *s2) ======= snprintf(buf, BUFSIZ, "%s%s", s1, s2); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "%s%s", s1, s2); +======= + snprintf(buf, BUFSIZ, "%s%s", s1, s2); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) comment(buf); } @@ -223,6 +251,7 @@ void statsRecorder::comment(const int n) char buf[BUFSIZ]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, BUFSIZ, "%d", n); ======= @@ -234,6 +263,12 @@ void statsRecorder::comment(const int n) ======= snprintf(buf, BUFSIZ, "%d", n); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "%d", n); +======= + snprintf(buf, BUFSIZ, "%d", n); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) comment(buf); } @@ -242,9 +277,13 @@ char *formatNumber(char *buf, off_t val) if (val > (1 << 30)) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, BUFSIZ, "%.2fG (%" PRId64 ")", (double)val / (1 << 30), val); +======= + sprintf(buf, "%.2fG (%" PRI_OFF_T ")", (double)val / (1 << 30), val); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } else if (val > (1 << 20)) { snprintf(buf, BUFSIZ, "%.2fM (%" PRId64 ")", (double)val / (1 << 20), @@ -277,12 +316,30 @@ char *formatNumber(char *buf, off_t val) <<<<<<< HEAD sprintf(buf, "%" PRI_OFF_T, val); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= snprintf(buf, BUFSIZ, "%" PRI_OFF_T, val); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + snprintf(buf, BUFSIZ, "%.2fG (%" PRI_OFF_T ")", (double)val / (1 << 30), + val); + } + else if (val > (1 << 20)) { + snprintf(buf, BUFSIZ, "%.2fM (%" PRI_OFF_T ")", (double)val / (1 << 20), + val); + } + else if (val > (1 << 10)) { + snprintf(buf, BUFSIZ, "%.2fK (%" PRI_OFF_T ")", (double)val / (1 << 10), + val); + } + else { + snprintf(buf, BUFSIZ, "%" PRI_OFF_T, val); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } return buf; } diff --git a/raster/r.terraflow/sweep.cpp b/raster/r.terraflow/sweep.cpp index bca568c7b18..f77c30116a6 100644 --- a/raster/r.terraflow/sweep.cpp +++ b/raster/r.terraflow/sweep.cpp @@ -132,6 +132,7 @@ FLOW_DATASTR *initializePQ() char buf[1024]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), "initialized to %.2fMB\n", (float)PQ_SIZE / (1 << 20)); @@ -145,6 +146,13 @@ FLOW_DATASTR *initializePQ() snprintf(buf, sizeof(buf), "initialized to %.2fMB\n", (float)PQ_SIZE / (1 << 20)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "initialized to %.2fMB\n", (float)PQ_SIZE / (1 << 20)); +======= + snprintf(buf, sizeof(buf), "initialized to %.2fMB\n", + (float)PQ_SIZE / (1 << 20)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (stats) *stats << buf; @@ -304,6 +312,7 @@ AMI_STREAM *sweep(AMI_STREAM *sweepstr, char buf[1024]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), "pqsize = %ld \n", (long)flowpq->size()); ======= @@ -315,6 +324,12 @@ AMI_STREAM *sweep(AMI_STREAM *sweepstr, ======= snprintf(buf, sizeof(buf), "pqsize = %ld \n", (long)flowpq->size()); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "pqsize = %ld \n", (long)flowpq->size()); +======= + snprintf(buf, sizeof(buf), "pqsize = %ld \n", (long)flowpq->size()); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (stats) *stats << buf; diff --git a/raster/r.terraflow/sweep.h b/raster/r.terraflow/sweep.h index f239bb55ee7..7887f524f3a 100644 --- a/raster/r.terraflow/sweep.h +++ b/raster/r.terraflow/sweep.h @@ -96,6 +96,7 @@ class printAccumulationAscii { static char buf[20]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), "%7.3f", p.accu); ======= @@ -107,6 +108,12 @@ class printAccumulationAscii { ======= snprintf(buf, sizeof(buf), "%7.3f", p.accu); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "%7.3f", p.accu); +======= + snprintf(buf, sizeof(buf), "%7.3f", p.accu); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } }; @@ -125,6 +132,7 @@ class printTciAscii { static char buf[20]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), "%7.3f", p.tci); ======= @@ -136,6 +144,12 @@ class printTciAscii { ======= snprintf(buf, sizeof(buf), "%7.3f", p.tci); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "%7.3f", p.tci); +======= + snprintf(buf, sizeof(buf), "%7.3f", p.tci); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } }; @@ -186,6 +200,7 @@ class flowPriority { public: <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD elevation_type h{0.0}; toporank_type toporank{0}; @@ -201,12 +216,21 @@ class flowPriority { elevation_type h{0.0}; toporank_type toporank{0}; >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= + elevation_type h; + toporank_type toporank; +======= + elevation_type h{0.0}; + toporank_type toporank{0}; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* points at same heights are processed in increasing order of their topological rank; overall, this gives topological order and guarantees that flow is never puhsed backwards. Note: of course, this is a way of waving hands on topological sorting. */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD dimension_type i{0}, j{0}; @@ -292,6 +316,8 @@ class flowPriority { return 1; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) dimension_type i, j; public: @@ -334,10 +360,57 @@ class flowPriority { if (a.toporank > b.toporank) return 1; +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + dimension_type i{0}, j{0}; + +public: + flowPriority() {} + flowPriority(elevation_type a) : h{a} {} + flowPriority(elevation_type a, toporank_type b, dimension_type c, + dimension_type d) + : h{a}, toporank{b}, i{c}, j{d} + { + } + + flowPriority(const flowPriority &) = default; + flowPriority &operator=(const flowPriority &) = default; + flowPriority(flowPriority &&) = default; + flowPriority &operator=(flowPriority &&) = default; + ~flowPriority() = default; + + elevation_type field1() const { return h; } + + dimension_type coord1() const { return i; } + dimension_type coord2() const { return j; } + void set(elevation_type g_h, toporank_type g_a, dimension_type g_i, + dimension_type g_j) + { + h = g_h; + toporank = g_a; + i = g_i; + j = g_j; + } + + static int compare(const flowPriority &a, const flowPriority &b) + { + if (a.h > b.h) + return -1; + if (a.h < b.h) + return 1; + + if (a.toporank < b.toporank) + return -1; + if (a.toporank > b.toporank) + return 1; + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (a.i < b.i) return -1; if (a.i > b.i) @@ -446,6 +519,7 @@ class sweepItemBaseType { /***************************************************************/ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD /* return the elevation window */ genericWindow getElevWindow() const { return elevwin; } @@ -485,6 +559,8 @@ class sweepItemBaseType { /***************************************************************/ >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ~sweepItemBaseType() {} /***************************************************************/ @@ -503,7 +579,27 @@ class sweepItemBaseType { dimension_type getJ() const { return j; } /***************************************************************/ +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + /* return the elevation window */ + genericWindow getElevWindow() const { return elevwin; } + + /***************************************************************/ + /* return the elevation window */ + genericWindow getTopoRankWindow() const { return toporwin; } + + /***************************************************************/ + /* return coordinates */ + dimension_type getI() const { return i; } + + /***************************************************************/ + dimension_type getJ() const { return j; } + + /***************************************************************/ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* return the elevation of the item */ elevation_type getElev() const { return elevwin.get(); } @@ -588,6 +684,7 @@ class flowValue { public: <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD flowaccumulation_type value{0}; @@ -607,6 +704,8 @@ class flowValue { >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) flowaccumulation_type value; public: @@ -614,7 +713,18 @@ class flowValue { ~flowValue() {} +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + flowaccumulation_type value{0}; + +public: + flowValue() {} + flowValue(flowaccumulation_type x) : value{x} {} + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) flowaccumulation_type get() const { return value; } friend ostream &operator<<(ostream &s, const flowValue &elt) { @@ -632,20 +742,28 @@ class flowValue { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) flowValue operator=(const flowValue &elt) { value = elt.value; return *this; } <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) +======= +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) flowValue operator!=(const flowValue &elt) { return value != elt.value; } flowValue operator==(const flowValue &elt) { return value == elt.value; } @@ -672,6 +790,7 @@ class flowStructure { private: <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD flowPriority prio{}; flowValue val{}; @@ -705,6 +824,8 @@ class flowStructure { flowStructure(const flowStructure &fl) : prio(fl.prio), val(fl.val) {} ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) flowPriority prio; flowValue val; @@ -726,10 +847,26 @@ class flowStructure { >>>>>>> 021dfb5d52 (r.terrafow: explicit use of default constructors (#2660)) flowPriority getPriority() const { return prio; } +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + flowPriority prio{}; + flowValue val{}; + +public: + flowStructure() {} + flowStructure(const flowPriority &p, const flowValue &e) : prio{p}, val{e} + { + } + + flowPriority getPriority() const { return prio; } + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) flowValue getValue() const { return val; } friend ostream &operator<<(ostream &s, const flowStructure &fl) diff --git a/raster/r.terraflow/types.h b/raster/r.terraflow/types.h index db6a1221573..c45c1d192ec 100644 --- a/raster/r.terraflow/types.h +++ b/raster/r.terraflow/types.h @@ -87,18 +87,22 @@ class labelFactory { static cclabel_type getCurrentLabel() { return label; } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD static cclabel_type getLabelInit() { return cclabel_type(LABEL_START); } static cclabel_type getLabelCount() { return label + 1; } ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static const cclabel_type getLabelInit() { return cclabel_type(LABEL_START); } static const cclabel_type getLabelCount() { return label + 1; } <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -106,6 +110,12 @@ class labelFactory { static cclabel_type getLabelInit() { return cclabel_type(LABEL_START); } static cclabel_type getLabelCount() { return label + 1; } >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + static cclabel_type getLabelInit() { return cclabel_type(LABEL_START); } + static cclabel_type getLabelCount() { return label + 1; } +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) static void setLabelCount(int n) { label = n - 1; } static void reset() { label = getLabelInit(); } }; diff --git a/raster/r.terraflow/water.cpp b/raster/r.terraflow/water.cpp index 93741426fd5..85cbfd67b86 100644 --- a/raster/r.terraflow/water.cpp +++ b/raster/r.terraflow/water.cpp @@ -34,6 +34,7 @@ char *labelElevType::printLabel(const labelElevType &p) static char buf[8]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), CCLABEL_FMT, p.label); ======= @@ -45,6 +46,12 @@ char *labelElevType::printLabel(const labelElevType &p) ======= snprintf(buf, sizeof(buf), CCLABEL_FMT, p.label); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, CCLABEL_FMT, p.label); +======= + snprintf(buf, sizeof(buf), CCLABEL_FMT, p.label); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } @@ -189,6 +196,7 @@ char *waterType::printLabel(const waterType &p) static char buf[8]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), CCLABEL_FMT, p.label); ======= @@ -200,6 +208,12 @@ char *waterType::printLabel(const waterType &p) ======= snprintf(buf, sizeof(buf), CCLABEL_FMT, p.label); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, CCLABEL_FMT, p.label); +======= + snprintf(buf, sizeof(buf), CCLABEL_FMT, p.label); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return buf; } diff --git a/raster/r.texture/r.texture.html b/raster/r.texture/r.texture.html index deaadf1fb9f..3167ad27254 100644 --- a/raster/r.texture/r.texture.html +++ b/raster/r.texture/r.texture.html @@ -52,6 +52,7 @@

    NOTES

    or for the identification of objects in i.segment, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD and/or for the characterization of these objects and thus, for example, as one of the raster inputs of the i.segment.stats @@ -63,6 +64,10 @@

    NOTES

    and/or for the characterization of these objects and thus, for example, as one of the raster inputs of the >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +and/or for the characterization of these objects and thus, for example, as one +of the raster inputs of the +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) i.segment.stats addon. >>>>>>> 73a1a8ce38 (Programmer's manual: update GRASS GIS arch drawing (#1610)) @@ -81,6 +86,7 @@

    NOTES

    separated by a fixed spatial relationship. The matrix approximates the joint probability distribution of a pair of pixels. Several texture measures are <<<<<<< HEAD +<<<<<<< HEAD directly computed from the Grey Level Co-occurrence Matrix (GLCM). The provided measures can be categorized under first-order and @@ -93,6 +99,9 @@

    NOTES

    ======= directly computed from the grey level co-occurrence matrix. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +directly computed from the grey level co-occurrence matrix. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    The following part offers brief explanations of the Haralick et al texture @@ -259,10 +268,14 @@

    EXAMPLE

    r.mapcalc "ortho_2001_t792_1m.greylevel = ortho_2001_t792_1m" # texture analysis <<<<<<< HEAD +<<<<<<< HEAD r.texture ortho_2001_t792_1m.greylevel output=ortho_texture method=asm -s ======= r.texture ortho_2001_t792_1m.greylevel prefix=ortho_texture method=asm -s >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +r.texture ortho_2001_t792_1m.greylevel prefix=ortho_texture method=asm -s +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # display g.region n=221461 s=221094 w=638279 e=638694 d.shade color=ortho_texture_ASM_0 shade=ortho_2001_t792_1m @@ -335,6 +348,7 @@

    KNOWN ISSUES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The program can run incredibly slow for large raster maps and large ======= ======= @@ -344,6 +358,12 @@

    KNOWN ISSUES

    ======= The program can run incredibly slow for large raster maps and large >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +The program can run incredibly slow for large raster maps and large +======= +The program can run incredibly slow for large raster maps and large +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) moving windows (size option). >>>>>>> ebc6d3f683 (wxpyimgview: explicit conversion to int (#2704)) diff --git a/raster/r.to.rast3/main.c b/raster/r.to.rast3/main.c index 1bcb7d8d5d8..f7d67bf2087 100644 --- a/raster/r.to.rast3/main.c +++ b/raster/r.to.rast3/main.c @@ -40,6 +40,7 @@ void fatal_error(void *map, int *fd, int depths, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void set_params(void); /*Fill the paramType structure */ ======= void set_params(); /*Fill the paramType structure */ @@ -50,6 +51,12 @@ void set_params(); /*Fill the paramType structure */ ======= void set_params(void); /*Fill the paramType structure */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void set_params(); /*Fill the paramType structure */ +======= +void set_params(void); /*Fill the paramType structure */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void raster_to_g3d(void *map, RASTER3D_Region region, int *fd); /*Write the raster */ int open_input_raster_map(const char *name); /*opens the outputmap */ diff --git a/raster/r.to.rast3/test_suite/test.r.to.rast3.sh b/raster/r.to.rast3/test_suite/test.r.to.rast3.sh index 35b2243cc91..6c6c6d0ef0a 100755 --- a/raster/r.to.rast3/test_suite/test.r.to.rast3.sh +++ b/raster/r.to.rast3/test_suite/test.r.to.rast3.sh @@ -20,8 +20,11 @@ r.mapcalc --o expr="elev_5 = 45" # For validation a @precision=0 should be used. We start with 5 raster maps, # then 3 raster maps then using single float and double raster maps <<<<<<< HEAD +<<<<<<< HEAD # with different tile sizes and null data ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) # with differen tile sizes and null data >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) r.to.rast3 --o input=elev_1,elev_2,elev_3,elev_4,elev_5 output=test_volume_6_raster tilesize=1 diff --git a/raster/r.to.rast3elev/main.c b/raster/r.to.rast3elev/main.c index 1f07e53c7e3..706799a1e40 100644 --- a/raster/r.to.rast3elev/main.c +++ b/raster/r.to.rast3elev/main.c @@ -55,6 +55,7 @@ void fatal_error(Database db, char *errorMsg); /*Simple Error message */ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void set_params(void); /*Fill the paramType structure */ ======= void set_params(); /*Fill the paramType structure */ @@ -65,6 +66,12 @@ void set_params(); /*Fill the paramType structure */ ======= void set_params(void); /*Fill the paramType structure */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void set_params(); /*Fill the paramType structure */ +======= +void set_params(void); /*Fill the paramType structure */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void elev_raster_to_g3d(Database db, RASTER3D_Region region); /*Write the raster */ int open_input_raster_map(const char *name); /*opens the outputmap */ diff --git a/raster/r.to.rast3elev/r.to.rast3elev.html b/raster/r.to.rast3elev/r.to.rast3elev.html index 8133f130c30..3df49fa9380 100644 --- a/raster/r.to.rast3elev/r.to.rast3elev.html +++ b/raster/r.to.rast3elev/r.to.rast3elev.html @@ -18,6 +18,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The height of the 2D elevation maps will be used to verify the position within the 3D region. If the cell value of the elevation raster maps is located within the 3D region, the ======= @@ -30,6 +31,14 @@

    NOTES

    The hight of the 2D elevation maps will be used to verify the position within the 3D region. If the cell value of the elevation raster maps is located within the 3D region, the >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +The hight of the 2D elevation maps will be used to verify the position +within the 3D region. If the cell value of the elevation raster maps is located within the 3D region, the +======= +The hight of the 2D elevation maps will be used to verify the position +within the 3D region. If the cell value of the elevation raster maps is located within the 3D region, the +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) cell value of the appropriate 2D input raster maps will be written to the associated 3D cell. There are flags and options to fill the upper and lower 3D cells with a specific value, or the input raster maps values. diff --git a/raster/r.topidx/topidx.c b/raster/r.topidx/topidx.c index 27626854b2f..ea865018a33 100644 --- a/raster/r.topidx/topidx.c +++ b/raster/r.topidx/topidx.c @@ -42,6 +42,7 @@ void calculate_atanb(void) nsink = 0; <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (; natb < ncells;) { ======= @@ -53,6 +54,12 @@ void calculate_atanb(void) ======= for (; natb < ncells;) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (iter = 1; natb < ncells; iter++) { +======= + for (; natb < ncells;) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* for(i=0;i<80;i++) fprintf(stderr,"\b"); diff --git a/raster/r.univar/Makefile b/raster/r.univar/Makefile index 79f79353c01..d12f6595e8a 100644 --- a/raster/r.univar/Makefile +++ b/raster/r.univar/Makefile @@ -4,6 +4,7 @@ MODULE_TOPDIR = ../.. <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD LIBES2 = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OPENMP_LIBPATH) $(OPENMP_LIB) $(PARSONLIB) LIBES3 = $(RASTER3DLIB) $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OPENMP_LIBPATH) $(OPENMP_LIB) $(PARSONLIB) ======= @@ -11,6 +12,8 @@ LIBES3 = $(RASTER3DLIB) $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OPENMP_LIBPATH) $(OP >>>>>>> 8f5c741ca6 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 488180fefd (Fix missing function prototypes (#2727)) +======= +>>>>>>> ebf041644a (r.horizon manual - fix typo (#2794)) <<<<<<< HEAD LIBES2 = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OPENMP_LIBPATH) $(OPENMP_LIB) LIBES3 = $(RASTER3DLIB) $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OPENMP_LIBPATH) $(OPENMP_LIB) @@ -19,10 +22,13 @@ DEPENDENCIES = $(RASTER3DDEP) $(GISDEP) $(RASTERDEP) EXTRA_CFLAGS = $(OPENMP_CFLAGS) EXTRA_INC = $(OPENMP_INCPATH) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) LIBES2 = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OMPLIB) LIBES3 = $(RASTER3DLIB) $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OMPLIB) DEPENDENCIES = $(RASTER3DDEP) $(GISDEP) $(RASTERDEP) EXTRA_CFLAGS = $(OMPCFLAGS) +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= LIBES2 = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OMPLIB) @@ -31,12 +37,18 @@ DEPENDENCIES = $(RASTER3DDEP) $(GISDEP) $(RASTERDEP) EXTRA_CFLAGS = $(OMPCFLAGS) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= LIBES2 = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OPENMP_LIBPATH) $(OPENMP_LIB) LIBES3 = $(RASTER3DLIB) $(RASTERLIB) $(GISLIB) $(MATHLIB) $(OPENMP_LIBPATH) $(OPENMP_LIB) DEPENDENCIES = $(RASTER3DDEP) $(GISDEP) $(RASTERDEP) EXTRA_CFLAGS = $(OPENMP_CFLAGS) EXTRA_INC = $(OPENMP_INCPATH) +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) PROGRAMS = r.univar r3.univar diff --git a/raster/r.univar/r.univar.html b/raster/r.univar/r.univar.html index 71eac4ee79f..2d54bf4b42b 100644 --- a/raster/r.univar/r.univar.html +++ b/raster/r.univar/r.univar.html @@ -75,6 +75,7 @@

    PERFORMANCE

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD is static, users should expect to have the same results when run with the same ======= is static, users should expect to have the same results when run with the same @@ -85,6 +86,12 @@

    PERFORMANCE

    ======= is static, users should expect to have the same results when run with the same >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +is static, users should expect to have the same results when run with the same +======= +is static, users should expect to have the same results when run with the same +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) number of threads.
    diff --git a/raster/r.univar/r.univar_main.c b/raster/r.univar/r.univar_main.c index aa8ac5acd5a..5c3a58663ed 100644 --- a/raster/r.univar/r.univar_main.c +++ b/raster/r.univar/r.univar_main.c @@ -300,8 +300,13 @@ int main(int argc, char *argv[]) /* table field separator */ zone_info.sep = G_option_to_separator(param.separator); +<<<<<<< HEAD zone_info.min = 0.0 / 0.0; /* set to nan as default */ zone_info.max = 0.0 / 0.0; /* set to nan as default */ +======= + zone_info.min = 0; + zone_info.max = 0; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) zone_info.n_zones = 0; fdz = NULL; diff --git a/raster/r.univar/r3.univar_main.c b/raster/r.univar/r3.univar_main.c index de0eeb124b2..c067cccf512 100644 --- a/raster/r.univar/r3.univar_main.c +++ b/raster/r.univar/r3.univar_main.c @@ -147,6 +147,7 @@ int main(int argc, char *argv[]) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) dmin = NAN; @@ -157,16 +158,27 @@ int main(int argc, char *argv[]) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) dmin = 0.0 / 0.0; /* set to nan as default */ dmax = 0.0 / 0.0; /* set to nan as default */ zone_info.min = 0.0 / 0.0; /* set to nan as default */ zone_info.max = 0.0 / 0.0; /* set to nan as default */ <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + dmin = NAN; + dmax = NAN; + zone_info.min = 0; + zone_info.max = 0; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) zone_info.n_zones = 0; /* open 3D zoning raster with default region */ @@ -232,6 +244,7 @@ int main(int argc, char *argv[]) stats = create_univar_stat_struct(map_type, i); <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (unsigned int)n_zones; i++) { ======= @@ -243,6 +256,12 @@ int main(int argc, char *argv[]) ======= for (i = 0; i < (unsigned int)n_zones; i++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (i = 0; i < n_zones; i++) { +======= + for (i = 0; i < (unsigned int)n_zones; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) unsigned int j; for (j = 0; j < stats[i].n_perc; j++) { diff --git a/raster/r.univar/stats.c b/raster/r.univar/stats.c index aa65450986b..3d454a54e5a 100644 --- a/raster/r.univar/stats.c +++ b/raster/r.univar/stats.c @@ -33,6 +33,7 @@ univar_stat *create_univar_stat_struct(int map_type, int n_perc) stats[i].sumsq = 0.0; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD stats[i].min = NAN; stats[i].max = NAN; @@ -48,6 +49,14 @@ univar_stat *create_univar_stat_struct(int map_type, int n_perc) stats[i].min = NAN; stats[i].max = NAN; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + stats[i].min = 0.0 / 0.0; /* set to nan as default */ + stats[i].max = 0.0 / 0.0; /* set to nan as default */ +======= + stats[i].min = NAN; + stats[i].max = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) stats[i].n_perc = n_perc; if (n_perc > 0) stats[i].perc = (double *)G_malloc(n_perc * sizeof(double)); @@ -640,7 +649,11 @@ int print_stats(univar_stat *stats, enum OutputFormat format) var_coef = (stdev / mean) * 100.; /* perhaps stdev/fabs(mean) ? */ if (stats[z].n == 0) +<<<<<<< HEAD stats[z].sum = stats[z].sum_abs = 0.0 / 0.0; +======= + stats[z].sum = stats[z].sum_abs = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) sprintf(sum_str, "%.15g", stats[z].sum); G_trim_decimal(sum_str); @@ -699,9 +712,15 @@ int print_stats(univar_stat *stats, enum OutputFormat format) quartile_perc = (double *)G_calloc(stats[z].n_perc, sizeof(double)); if (stats[z].n == 0) { +<<<<<<< HEAD quartile_25 = median = quartile_75 = 0.0 / 0.0; for (i = 0; i < stats[z].n_perc; i++) quartile_perc[i] = 0.0 / 0.0; +======= + quartile_25 = median = quartile_75 = NAN; + for (i = 0; i < stats[z].n_perc; i++) + quartile_perc[i] = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) } else { for (i = 0; i < stats[z].n_perc; i++) { @@ -935,6 +954,7 @@ int print_stats_table(univar_stat *stats) if (stats[z].n == 0) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD stats[z].sum = stats[z].sum_abs = NAN; ======= @@ -946,6 +966,12 @@ int print_stats_table(univar_stat *stats) ======= stats[z].sum = stats[z].sum_abs = NAN; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + stats[z].sum = stats[z].sum_abs = 0.0 / 0.0; +======= + stats[z].sum = stats[z].sum_abs = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (zone_info.n_zones) { int z_cat = z + zone_info.min; @@ -995,6 +1021,7 @@ int print_stats_table(univar_stat *stats) if (stats[z].n == 0) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD quartile_25 = median = quartile_75 = NAN; for (i = 0; i < stats[z].n_perc; i++) @@ -1009,11 +1036,20 @@ int print_stats_table(univar_stat *stats) for (i = 0; i < stats[z].n_perc; i++) quartile_perc[i] = 0.0 / 0.0; >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + quartile_25 = median = quartile_75 = 0.0 / 0.0; + for (i = 0; i < stats[z].n_perc; i++) + quartile_perc[i] = 0.0 / 0.0; +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= quartile_25 = median = quartile_75 = NAN; for (i = 0; i < stats[z].n_perc; i++) quartile_perc[i] = NAN; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } else { for (i = 0; i < stats[z].n_perc; i++) { diff --git a/raster/r.uslek/prct2tex.c b/raster/r.uslek/prct2tex.c index e3160f63a88..7c1107cba74 100644 --- a/raster/r.uslek/prct2tex.c +++ b/raster/r.uslek/prct2tex.c @@ -113,6 +113,7 @@ int prct2tex(double sand_input, double clay_input, double silt_input) /* index 0 */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD struct vector cls_clay[POLYGON_DIMENSION] = {{.sand = 0.0}}; /* index 1 */ @@ -167,6 +168,8 @@ int prct2tex(double sand_input, double clay_input, double silt_input) struct vector cls_silt[POLYGON_DIMENSION] = {{0.0}}; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) struct vector cls_clay[POLYGON_DIMENSION] = {{0.0}}; /* index 1 */ struct vector cls_sandy_clay[POLYGON_DIMENSION] = {{0.0}}; @@ -190,10 +193,38 @@ int prct2tex(double sand_input, double clay_input, double silt_input) struct vector cls_silt_loam[POLYGON_DIMENSION] = {{0.0}}; /* index 11 */ struct vector cls_silt[POLYGON_DIMENSION] = {{0.0}}; +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= struct vector cls_silt[POLYGON_DIMENSION] = {{.sand = 0.0}}; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + struct vector cls_clay[POLYGON_DIMENSION] = {{.sand = 0.0}}; + /* index 1 */ + struct vector cls_sandy_clay[POLYGON_DIMENSION] = {{.sand = 0.0}}; + /* index 2 */ + struct vector cls_silty_clay[POLYGON_DIMENSION] = {{.sand = 0.0}}; + /* index 3 */ + struct vector cls_sandy_clay_loam[POLYGON_DIMENSION] = {{.sand = 0.0}}; + /* index 4 */ + struct vector cls_clay_loam[POLYGON_DIMENSION] = {{.sand = 0.0}}; + /* index 5 */ + struct vector cls_silty_clay_loam[POLYGON_DIMENSION] = {{.sand = 0.0}}; + /* index 6 */ + struct vector cls_sand[POLYGON_DIMENSION] = {{.sand = 0.0}}; + /* index 7 */ + struct vector cls_loamy_sand[POLYGON_DIMENSION] = {{.sand = 0.0}}; + /* index 8 */ + struct vector cls_sandy_loam[POLYGON_DIMENSION] = {{.sand = 0.0}}; + /* index 9 */ + struct vector cls_loam[POLYGON_DIMENSION] = {{.sand = 0.0}}; + /* index 10 */ + struct vector cls_silt_loam[POLYGON_DIMENSION] = {{.sand = 0.0}}; + /* index 11 */ + struct vector cls_silt[POLYGON_DIMENSION] = {{.sand = 0.0}}; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if ((sand_input + clay_input + silt_input) <= 10.0) { sand_input = sand_input * 100.0; diff --git a/raster/r.uslek/r.uslek.html b/raster/r.uslek/r.uslek.html index 27cff4dc3bd..0636908f167 100644 --- a/raster/r.uslek/r.uslek.html +++ b/raster/r.uslek/r.uslek.html @@ -66,6 +66,7 @@

    AUTHOR

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -74,3 +75,8 @@

    AUTHOR

    >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/raster/r.viewshed/grass.cpp b/raster/r.viewshed/grass.cpp index 0268d3a6e48..8f2d670e29d 100644 --- a/raster/r.viewshed/grass.cpp +++ b/raster/r.viewshed/grass.cpp @@ -249,6 +249,7 @@ size_t init_event_list_in_memory(AEvent *eventList, char *rastName, e.angle = -1; <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (dimensionType)nrows; i++) { ======= @@ -260,6 +261,12 @@ size_t init_event_list_in_memory(AEvent *eventList, char *rastName, ======= for (i = 0; i < (dimensionType)nrows; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < nrows; i++) { +======= + for (i = 0; i < (dimensionType)nrows; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /*read in the raster row */ G_SURFACE_T *tmprast = inrast[0]; @@ -277,6 +284,7 @@ size_t init_event_list_in_memory(AEvent *eventList, char *rastName, /*fill event list with events from this row */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (j = 0; j < (dimensionType)ncols; j++) { ======= @@ -288,6 +296,12 @@ size_t init_event_list_in_memory(AEvent *eventList, char *rastName, ======= for (j = 0; j < (dimensionType)ncols; j++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (j = 0; j < Rast_window_cols(); j++) { +======= + for (j = 0; j < (dimensionType)ncols; j++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) e.row = i; e.col = j; @@ -500,6 +514,7 @@ AMI_STREAM *init_event_list(char *rastName, Viewpoint *vp, /*start scanning through the grid */ <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (dimensionType)nrows; i++) { ======= @@ -511,6 +526,12 @@ AMI_STREAM *init_event_list(char *rastName, Viewpoint *vp, ======= for (i = 0; i < (dimensionType)nrows; i++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < nrows; i++) { +======= + for (i = 0; i < (dimensionType)nrows; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_percent(i, nrows, 2); @@ -529,6 +550,7 @@ AMI_STREAM *init_event_list(char *rastName, Viewpoint *vp, /*fill event list with events from this row */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (j = 0; j < (dimensionType)ncols; j++) { ======= @@ -540,6 +562,12 @@ AMI_STREAM *init_event_list(char *rastName, Viewpoint *vp, ======= for (j = 0; j < (dimensionType)ncols; j++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (j = 0; j < ncols; j++) { +======= + for (j = 0; j < (dimensionType)ncols; j++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) e.row = i; e.col = j; @@ -708,6 +736,7 @@ void save_grid_to_GRASS(Grid *grid, char *filename, RASTER_MAP_TYPE type, dimensionType i, j; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (dimensionType)nrows; i++) { @@ -721,11 +750,20 @@ void save_grid_to_GRASS(Grid *grid, char *filename, RASTER_MAP_TYPE type, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + for (i = 0; i < Rast_window_rows(); i++) { + G_percent(i, Rast_window_rows(), 5); + for (j = 0; j < Rast_window_cols(); j++) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= for (i = 0; i < (dimensionType)nrows; i++) { G_percent(i, nrows, 5); for (j = 0; j < (dimensionType)ncols; j++) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (is_invisible_nodata(grid->grid_data[i][j])) { writeNodataValue(outrast, j, type); } @@ -807,6 +845,7 @@ void save_vis_elev_to_GRASS(Grid *visgrid, char *elevfname, char *visfname, dimensionType i, j; double elev = 0, viewshed_value; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (dimensionType)nrows; i++) { @@ -815,22 +854,31 @@ void save_vis_elev_to_GRASS(Grid *visgrid, char *elevfname, char *visfname, for (j = 0; j < (dimensionType)ncols; j++) { ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (i = 0; i < Rast_window_rows(); i++) { /* get the row from elevation */ Rast_get_row(elevfd, elevrast, i, elev_data_type); for (j = 0; j < Rast_window_cols(); j++) { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= for (i = 0; i < (dimensionType)nrows; i++) { /* get the row from elevation */ Rast_get_row(elevfd, elevrast, i, elev_data_type); for (j = 0; j < (dimensionType)ncols; j++) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* read the current elevation value */ int isNull = 0; @@ -965,6 +1013,7 @@ void save_io_visibilitygrid_to_GRASS(IOVisibilityGrid *visgrid, char *fname, dimensionType i, j; +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (dimensionType)nrows; i++) { @@ -980,6 +1029,14 @@ void save_io_visibilitygrid_to_GRASS(IOVisibilityGrid *visgrid, char *fname, for (i = 0; i < (dimensionType)nrows; i++) { for (j = 0; j < (dimensionType)ncols; j++) { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + for (i = 0; i < Rast_window_rows(); i++) { + for (j = 0; j < Rast_window_cols(); j++) { +======= + for (i = 0; i < (dimensionType)nrows; i++) { + for (j = 0; j < (dimensionType)ncols; j++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (curResult->row == i && curResult->col == j) { /*cell is recodred in the visibility stream: it must be @@ -1079,19 +1136,27 @@ void save_io_vis_and_elev_to_GRASS(IOVisibilityGrid *visgrid, char *elevfname, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int nrows = Rast_window_rows(); int ncols = Rast_window_cols(); if (nrows > maxDimension || ncols > maxDimension) G_fatal_error(_("Grid size exceeds max dimension: %d"), maxDimension); <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for (i = 0; i < (dimensionType)nrows; i++) { diff --git a/raster/r.viewshed/main.cpp b/raster/r.viewshed/main.cpp index f64a4af9f1e..66b2edd43c3 100644 --- a/raster/r.viewshed/main.cpp +++ b/raster/r.viewshed/main.cpp @@ -277,6 +277,7 @@ int main(int argc, char *argv[]) /*set it */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), "%s=%s", STREAM_TMPDIR, viewOptions.streamdir); @@ -290,6 +291,13 @@ int main(int argc, char *argv[]) snprintf(buf, sizeof(buf), "%s=%s", STREAM_TMPDIR, viewOptions.streamdir); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, "%s=%s", STREAM_TMPDIR, viewOptions.streamdir); +======= + snprintf(buf, sizeof(buf), "%s=%s", STREAM_TMPDIR, + viewOptions.streamdir); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_debug(1, "setting %s ", buf); putenv(buf); if (getenv(STREAM_TMPDIR) == NULL) { diff --git a/raster/r.watershed/front/main.c b/raster/r.watershed/front/main.c index f52ad7a465f..eaf1cec4e6d 100644 --- a/raster/r.watershed/front/main.c +++ b/raster/r.watershed/front/main.c @@ -263,6 +263,7 @@ int main(int argc, char *argv[]) /* Build command line */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(command, GPATH_MAX, "%s/etc/r.watershed/%s", G_gisbase(), flag_seg->answer ? "seg" : "ram"); @@ -278,6 +279,14 @@ int main(int argc, char *argv[]) snprintf(command, GPATH_MAX, "%s/etc/r.watershed/%s", G_gisbase(), flag_seg->answer ? "seg" : "ram"); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(command, "%s/etc/r.watershed/%s", G_gisbase(), + flag_seg->answer ? "seg" : "ram"); +======= + snprintf(command, GPATH_MAX, "%s/etc/r.watershed/%s", G_gisbase(), + flag_seg->answer ? "seg" : "ram"); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) new_argv[new_argc++] = command; if (flag_sfd->answer) diff --git a/raster/r.watershed/shed/com_line.c b/raster/r.watershed/shed/com_line.c index 7bcce7bc44a..4773dddd4c1 100644 --- a/raster/r.watershed/shed/com_line.c +++ b/raster/r.watershed/shed/com_line.c @@ -55,9 +55,14 @@ int com_line_Gwater(INPUT *input, OUTPUT *output) prog_name = G_store(RAM_NAME); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(input->com_line_ram, (400 * sizeof(char)), "\"%s/etc/water/%s\"", G_gisbase(), RAM_NAME); +======= + sprintf(input->com_line_ram, "\"%s/etc/water/%s\"", G_gisbase(), + RAM_NAME); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) fprintf(stderr, "\nIf there is not enough ram for the fast mode (%s) to run,\n", RAM_NAME); @@ -89,6 +94,7 @@ int com_line_Gwater(INPUT *input, OUTPUT *output) sprintf(input->com_line_seg, "\"%s/etc/water/%s\"", G_gisbase(), SEG_NAME); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -96,6 +102,22 @@ int com_line_Gwater(INPUT *input, OUTPUT *output) snprintf(input->com_line_seg, (400, sizeof(char)), "\"%s/etc/water/%s\"", G_gisbase(), SEG_NAME); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + snprintf(input->com_line_ram, (400 * sizeof(char)), + "\"%s/etc/water/%s\"", G_gisbase(), RAM_NAME); + fprintf(stderr, + "\nIf there is not enough ram for the fast mode (%s) to run,\n", + RAM_NAME); + snprintf(buf, sizeof(buf), "should the slow mode (%s) be run instead?", + SEG_NAME); + if (G_yes(buf, 1)) { + input->slow = 1; + input->com_line_seg = (char *)G_calloc(400, sizeof(char)); + snprintf(input->com_line_seg, (400, sizeof(char)), + "\"%s/etc/water/%s\"", G_gisbase(), SEG_NAME); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } else { @@ -104,6 +126,7 @@ int com_line_Gwater(INPUT *input, OUTPUT *output) input->com_line_seg = (char *)G_calloc(400, sizeof(char)); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(input->com_line_seg, (400, sizeof(char)), "\"%s/etc/water/%s\"", G_gisbase(), SEG_NAME); @@ -119,6 +142,14 @@ int com_line_Gwater(INPUT *input, OUTPUT *output) snprintf(input->com_line_seg, (400, sizeof(char)), "\"%s/etc/water/%s\"", G_gisbase(), SEG_NAME); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(input->com_line_seg, "\"%s/etc/water/%s\"", G_gisbase(), + SEG_NAME); +======= + snprintf(input->com_line_seg, (400, sizeof(char)), + "\"%s/etc/water/%s\"", G_gisbase(), SEG_NAME); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } G_message(_("\nIf you hit by itself for the next question, this")); @@ -538,6 +569,7 @@ int basin_com_add(char **com_line, double d, double modifier, i = 1; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(buf, sizeof(buf), " t=%d", i); ======= @@ -548,6 +580,12 @@ int basin_com_add(char **com_line, double d, double modifier, ======= snprintf(buf, sizeof(buf), " t=%d", i); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + sprintf(buf, " t=%d", i); +======= + snprintf(buf, sizeof(buf), " t=%d", i); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) strcat(*com_line, buf); return 0; diff --git a/raster/r.watershed/shed/print.c b/raster/r.watershed/shed/print.c index 761d5c1b096..93bf1339e30 100644 --- a/raster/r.watershed/shed/print.c +++ b/raster/r.watershed/shed/print.c @@ -74,9 +74,14 @@ int print_output(OUTPUT *output) case 1: <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD snprintf(area, sizeof(area), "%.3f acres", METERSQ_TO_ACRE * cell_size * do_cat->num_cat); +======= + sprintf(area, "%.3f acres", + METERSQ_TO_ACRE * cell_size * do_cat->num_cat); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) break; case 2: snprintf(area, sizeof(area), "%.2f sq. meters", @@ -126,12 +131,38 @@ int print_output(OUTPUT *output) <<<<<<< HEAD sprintf(area, "%6d cells", do_cat->num_cat); <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= snprintf(area, sizeof(area), "%6d cells", do_cat->num_cat); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + snprintf(area, sizeof(area), "%.3f acres", + METERSQ_TO_ACRE * cell_size * do_cat->num_cat); + break; + case 2: + snprintf(area, sizeof(area), "%.2f sq. meters", + cell_size * do_cat->num_cat); + break; + case 3: + snprintf(area, sizeof(area), "%.4f sq. miles", + METERSQ_TO_MILESQ * cell_size * do_cat->num_cat); + break; + case 4: + snprintf(area, sizeof(area), "%.3f hectacres", + METERSQ_TO_HECTACRE * cell_size * do_cat->num_cat); + break; + case 5: + snprintf(area, sizeof(area), "%.3f sq. km.", + METERSQ_TO_KILOSQ * cell_size * do_cat->num_cat); + break; + case 6: + snprintf(area, sizeof(area), "%6d cells", do_cat->num_cat); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) break; } fprintf(output->out_file, "%3d %-43s %16s %-.4f\n", diff --git a/raster/rasterintro.html b/raster/rasterintro.html index 66ff3a6b124..af513d86aef 100644 --- a/raster/rasterintro.html +++ b/raster/rasterintro.html @@ -320,14 +320,18 @@

    Raster compression

    ZLIB
    <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
    ZLIB's deflate is the default compression method for all raster maps, if ZSTD is not available. GRASS GIS 8 uses by default 1 as ZLIB compression level which is the best compromise between speed and compression ratio, also when compared to other available compression methods. Valid levels are in the range [1, 9] and can be set with the <<<<<<< HEAD +<<<<<<< HEAD =======
    ZLIB's deflate is the default compression method for all raster maps, if ZSTD is not available. GRASS GIS 8 uses by default 1 as ZLIB @@ -337,6 +341,8 @@

    Raster compression

    >>>>>>> 73a1a8ce38 (Programmer's manual: update GRASS GIS arch drawing (#1610)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) environment variable GRASS_ZLIB_LEVEL.
    LZ4
    LZ4 is a very fast compression method, about as fast as no diff --git a/raster3d/r3.cross.rast/main.c b/raster3d/r3.cross.rast/main.c index 9a24daec8ea..6fc913a122b 100644 --- a/raster3d/r3.cross.rast/main.c +++ b/raster3d/r3.cross.rast/main.c @@ -40,6 +40,7 @@ void fatal_error(void *map, int elevfd, int outfd, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void set_params(void); /*Fill the paramType structure */ ======= void set_params(); /*Fill the paramType structure */ @@ -50,6 +51,12 @@ void set_params(); /*Fill the paramType structure */ ======= void set_params(void); /*Fill the paramType structure */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void set_params(); /*Fill the paramType structure */ +======= +void set_params(void); /*Fill the paramType structure */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void rast3d_cross_section(void *map, RASTER3D_Region region, int elevfd, int outfd); /*Write the raster */ void close_output_map(int fd); /*close the map */ diff --git a/raster3d/r3.in.ascii/r3.in.ascii.html b/raster3d/r3.in.ascii/r3.in.ascii.html index 54fa7bcd971..b4d1910f6b7 100644 --- a/raster3d/r3.in.ascii/r3.in.ascii.html +++ b/raster3d/r3.in.ascii/r3.in.ascii.html @@ -106,6 +106,7 @@

    AUTHORS

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Roman Waupotitsch, Michael Shapiro, ======= Roman Waupotitsch, Michael Shapiro, @@ -116,4 +117,10 @@

    AUTHORS

    ======= Roman Waupotitsch, Michael Shapiro, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Roman Waupotitsch, Michael Shapiro, +======= +Roman Waupotitsch, Michael Shapiro, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Helena Mitasova, Bill Brown, Lubos Mitas, Jaro Hofierka, Sören Gebbert diff --git a/raster3d/r3.in.v5d/main.c b/raster3d/r3.in.v5d/main.c index 376e1235da1..2610e1da2bd 100644 --- a/raster3d/r3.in.v5d/main.c +++ b/raster3d/r3.in.v5d/main.c @@ -148,6 +148,7 @@ void convert(char *openFile, RASTER3D_Region *region, int convertNull, value = data1[cnt++]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (convertNull && IS_MISSING(value)) ======= @@ -159,6 +160,12 @@ void convert(char *openFile, RASTER3D_Region *region, int convertNull, ======= if (convertNull && IS_MISSING(value)) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + if (convertNull && (value == MISSING)) +======= + if (convertNull && IS_MISSING(value)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_set_null_value(&value, 1, FCELL_TYPE); Rast3d_put_float(map, x, y, z, value); } diff --git a/raster3d/r3.info/r3.info.html b/raster3d/r3.info/r3.info.html index 0357c1690d3..d1654f1e6ee 100644 --- a/raster3d/r3.info/r3.info.html +++ b/raster3d/r3.info/r3.info.html @@ -13,6 +13,7 @@

    AUTHORS

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Roman Waupotitsch, Michael Shapiro, ======= ======= @@ -22,5 +23,11 @@

    AUTHORS

    ======= Roman Waupotitsch, Michael Shapiro, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Roman Waupotitsch, Michael Shapiro, +======= +Roman Waupotitsch, Michael Shapiro, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Helena Mitasova, Bill Brown, Lubos Mitas, Jaro Hofierka diff --git a/raster3d/r3.mask/r3.mask.html b/raster3d/r3.mask/r3.mask.html index d8a2d2ee6e2..c5a2410cd04 100644 --- a/raster3d/r3.mask/r3.mask.html +++ b/raster3d/r3.mask/r3.mask.html @@ -17,6 +17,7 @@

    AUTHORS

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Roman Waupotitsch, Michael Shapiro, ======= ======= @@ -26,5 +27,11 @@

    AUTHORS

    ======= Roman Waupotitsch, Michael Shapiro, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Roman Waupotitsch, Michael Shapiro, +======= +Roman Waupotitsch, Michael Shapiro, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Helena Mitasova, Bill Brown, Lubos Mitas, Jaro Hofierka diff --git a/raster3d/r3.mkdspf/r3.mkdspf.html b/raster3d/r3.mkdspf/r3.mkdspf.html index 1d0e8857cad..661877fe3be 100644 --- a/raster3d/r3.mkdspf/r3.mkdspf.html +++ b/raster3d/r3.mkdspf/r3.mkdspf.html @@ -56,6 +56,7 @@

    EXAMPLES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD With grid3 data (phdata) in the range 3-7, we only want to see isosurface values for the range 4-6. ======= @@ -68,6 +69,14 @@

    EXAMPLES

    With grid3 data (phdata) in the range 3-7, we only want to see isosurface values for the range 4-6. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +With grid3 data (phdata) in the range 3-7, +we only want to see isosurface values for the range 4-6. +======= +With grid3 data (phdata) in the range 3-7, +we only want to see isosurface values for the range 4-6. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Any of these commands will produce the same results:
     r3.mkdspf phdata dspf=iso min=4.0 max=6.0 tnum=5
    diff --git a/raster3d/r3.null/r3.null.html b/raster3d/r3.null/r3.null.html
    index aeefe61ac0e..b992d3769cd 100644
    --- a/raster3d/r3.null/r3.null.html
    +++ b/raster3d/r3.null/r3.null.html
    @@ -13,6 +13,7 @@ 

    AUTHORS

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Roman Waupotitsch, Michael Shapiro, ======= ======= @@ -22,5 +23,11 @@

    AUTHORS

    ======= Roman Waupotitsch, Michael Shapiro, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Roman Waupotitsch, Michael Shapiro, +======= +Roman Waupotitsch, Michael Shapiro, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Helena Mitasova, Bill Brown, Lubos Mitas, Jaro Hofierka diff --git a/raster3d/r3.out.ascii/r3.out.ascii.html b/raster3d/r3.out.ascii/r3.out.ascii.html index 001b026393e..2695989ccea 100644 --- a/raster3d/r3.out.ascii/r3.out.ascii.html +++ b/raster3d/r3.out.ascii/r3.out.ascii.html @@ -195,6 +195,7 @@

    AUTHORS

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Roman Waupotitsch, Michael Shapiro, ======= Roman Waupotitsch, Michael Shapiro, @@ -205,4 +206,10 @@

    AUTHORS

    ======= Roman Waupotitsch, Michael Shapiro, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Roman Waupotitsch, Michael Shapiro, +======= +Roman Waupotitsch, Michael Shapiro, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Helena Mitasova, Bill Brown, Lubos Mitas, Jaro Hofierka, Sören Gebbert diff --git a/raster3d/r3.out.netcdf/main.c b/raster3d/r3.out.netcdf/main.c index 2c405266b4b..cd6ca47751e 100644 --- a/raster3d/r3.out.netcdf/main.c +++ b/raster3d/r3.out.netcdf/main.c @@ -508,6 +508,7 @@ static void write_netcdf_header(int ncid, RASTER3D_Region *region, int *varid, * dimensions * */ +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (unsigned int)region->cols; i++) { @@ -520,10 +521,17 @@ static void write_netcdf_header(int ncid, RASTER3D_Region *region, int *varid, ======= for (i = 0; i < (unsigned int)region->cols; i++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (i = 0; i < region->cols; i++) { +======= + for (i = 0; i < (unsigned int)region->cols; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) c = region->west + i * region->ew_res + 0.5 * region->ew_res; nc_put_var1_float(ncid, lon_varid, &i, &c); } +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (unsigned int)region->rows; i++) { @@ -536,11 +544,18 @@ static void write_netcdf_header(int ncid, RASTER3D_Region *region, int *varid, ======= for (i = 0; i < (unsigned int)region->rows; i++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (i = 0; i < region->rows; i++) { +======= + for (i = 0; i < (unsigned int)region->rows; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* c = region->south + i * region->ns_res + 0.5 * region->ns_res; */ c = region->north - i * region->ns_res - 0.5 * region->ns_res; nc_put_var1_float(ncid, lat_varid, &i, &c); } +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (unsigned int)region->depths; i++) { @@ -553,6 +568,12 @@ static void write_netcdf_header(int ncid, RASTER3D_Region *region, int *varid, ======= for (i = 0; i < (unsigned int)region->depths; i++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (i = 0; i < region->depths; i++) { +======= + for (i = 0; i < (unsigned int)region->depths; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (is_time) { c = i * region->tb_res; time = (int)c; diff --git a/raster3d/r3.retile/main.c b/raster3d/r3.retile/main.c index c9617668c22..3d7c9e83be8 100644 --- a/raster3d/r3.retile/main.c +++ b/raster3d/r3.retile/main.c @@ -38,6 +38,7 @@ static void fatal_error(void *map, int *fd, int depths, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD static void set_params(void); /*Fill the paramType structure */ ======= static void set_params(); /*Fill the paramType structure */ @@ -48,6 +49,12 @@ static void set_params(); /*Fill the paramType structure */ ======= static void set_params(void); /*Fill the paramType structure */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +static void set_params(); /*Fill the paramType structure */ +======= +static void set_params(void); /*Fill the paramType structure */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* ************************************************************************* */ /* Error handling ********************************************************** */ diff --git a/raster3d/r3.support/main.c b/raster3d/r3.support/main.c index 6621d13e098..a0242943bcb 100644 --- a/raster3d/r3.support/main.c +++ b/raster3d/r3.support/main.c @@ -195,6 +195,7 @@ int main(int argc, char *argv[]) if (strlen(history_opt->answer) > 71) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (unsigned int i = 0; i < strlen(history_opt->answer); i += 71) { char buf[72]; @@ -228,6 +229,8 @@ int main(int argc, char *argv[]) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int i; for (i = 0; i < strlen(history_opt->answer); i += 71) { @@ -242,7 +245,24 @@ int main(int argc, char *argv[]) else Rast_append_history(&hist, history_opt->answer); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + for (unsigned int i = 0; i < strlen(history_opt->answer); i += 71) { + char buf[72]; + + strncpy(buf, &history_opt->answer[i], sizeof(buf) - 1); + buf[sizeof(buf) - 1] = '\0'; + + Rast_append_history(&hist, buf); + } + } + else + Rast_append_history(&hist, history_opt->answer); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Rast3d_write_history(raster->answer, &hist); } diff --git a/raster3d/r3.to.rast/main.c b/raster3d/r3.to.rast/main.c index eecbb07d959..b7ddb2da90f 100644 --- a/raster3d/r3.to.rast/main.c +++ b/raster3d/r3.to.rast/main.c @@ -41,6 +41,7 @@ void fatal_error(void *map, int *fd, int depths, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void set_params(void); /*Fill the paramType structure */ ======= void set_params(); /*Fill the paramType structure */ @@ -51,6 +52,12 @@ void set_params(); /*Fill the paramType structure */ ======= void set_params(void); /*Fill the paramType structure */ >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void set_params(); /*Fill the paramType structure */ +======= +void set_params(void); /*Fill the paramType structure */ +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void g3d_to_raster(void *map, RASTER3D_Region region, int *fd, int output_type, int use_coeffs, double coeff_a, double coeff_b); /*Write the raster */ diff --git a/raster3d/r3.to.rast/r3.to.rast.html b/raster3d/r3.to.rast/r3.to.rast.html index f756287815a..81f9bb03fa5 100644 --- a/raster3d/r3.to.rast/r3.to.rast.html +++ b/raster3d/r3.to.rast/r3.to.rast.html @@ -28,6 +28,7 @@

    Map type conversions

    and the 2D raster map should be also categorical, i.e. use integers. <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The type is set to CELL in this case. ======= The type is set to CELL in this case. @@ -38,6 +39,12 @@

    Map type conversions

    ======= The type is set to CELL in this case. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +The type is set to CELL in this case. +======= +The type is set to CELL in this case. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    Modifying the values

    diff --git a/renovate.json b/renovate.json index a407838676a..97844ea2329 100644 --- a/renovate.json +++ b/renovate.json @@ -1,6 +1,7 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ +<<<<<<< HEAD <<<<<<< HEAD "config:best-practices", <<<<<<< HEAD @@ -9,7 +10,13 @@ ======= "config:base", >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +<<<<<<< HEAD >>>>>>> 28bb012175 (r.horizon manual - fix typo (#2794)) +======= +======= + "config:base", +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +>>>>>>> 33ce576706 (r.horizon manual - fix typo (#2794)) ":semanticCommitTypeAll(CI)" ] } diff --git a/rpm/grass-pkgconfig.patch b/rpm/grass-pkgconfig.patch index 0b81a8f0ee9..9c88ba03fd8 100644 --- a/rpm/grass-pkgconfig.patch +++ b/rpm/grass-pkgconfig.patch @@ -20,6 +20,7 @@ Index: grass-7.8.6/grass.pc.in # See also: grass@GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@ --config <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= @@ -27,6 +28,11 @@ Index: grass-7.8.6/grass.pc.in ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) -prefix=@prefix@/grass-@GRASS_VERSION_MAJOR@.@GRASS_VERSION_MINOR@.@GRASS_VERSION_RELEASE@ -exec_prefix=@prefix@/grass-@GRASS_VERSION_MAJOR@.@GRASS_VERSION_MINOR@.@GRASS_VERSION_RELEASE@ -libdir=@prefix@/grass-@GRASS_VERSION_MAJOR@.@GRASS_VERSION_MINOR@.@GRASS_VERSION_RELEASE@/lib @@ -38,6 +44,7 @@ Index: grass-7.8.6/grass.pc.in <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= @@ -48,6 +55,12 @@ Index: grass-7.8.6/grass.pc.in ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Name: GRASS Description: GRASS GIS Version: @GRASS_VERSION_MAJOR@.@GRASS_VERSION_MINOR@.@GRASS_VERSION_RELEASE@ diff --git a/scripts/d.frame/d.frame.html b/scripts/d.frame/d.frame.html index 3512b38396d..f848f1a1353 100644 --- a/scripts/d.frame/d.frame.html +++ b/scripts/d.frame/d.frame.html @@ -82,6 +82,7 @@

    SEE ALSO

    rendering (GRASS_RENDER_FRAME) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= @@ -92,6 +93,12 @@

    SEE ALSO

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    AUTHORS

    Martin Landa, Czech Technical University in Prague, Czech Republic diff --git a/scripts/d.out.file/d.out.file.html b/scripts/d.out.file/d.out.file.html index 9025f71afdd..30741834fd0 100644 --- a/scripts/d.out.file/d.out.file.html +++ b/scripts/d.out.file/d.out.file.html @@ -10,6 +10,7 @@

    SEE ALSO

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -19,6 +20,12 @@

    SEE ALSO

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) d.redraw, d.erase, diff --git a/scripts/d.redraw/d.redraw.html b/scripts/d.redraw/d.redraw.html index 497a599ae95..1124a1577cc 100644 --- a/scripts/d.redraw/d.redraw.html +++ b/scripts/d.redraw/d.redraw.html @@ -9,6 +9,7 @@

    SEE ALSO

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -18,6 +19,12 @@

    SEE ALSO

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) d.erase, d.rast, diff --git a/scripts/d.to.rast/d.to.rast.html b/scripts/d.to.rast/d.to.rast.html index 8b4d2e7c504..5e8cdfdece6 100644 --- a/scripts/d.to.rast/d.to.rast.html +++ b/scripts/d.to.rast/d.to.rast.html @@ -38,6 +38,7 @@

    SEE ALSO

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -47,6 +48,12 @@

    SEE ALSO

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) d.out.file, d.erase, diff --git a/scripts/d.what.rast/d.what.rast.html b/scripts/d.what.rast/d.what.rast.html index b7ac05e51ce..155dc438588 100644 --- a/scripts/d.what.rast/d.what.rast.html +++ b/scripts/d.what.rast/d.what.rast.html @@ -9,6 +9,7 @@

    SEE ALSO

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -18,6 +19,12 @@

    SEE ALSO

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) d.what.vect, d.redraw, diff --git a/scripts/d.what.vect/d.what.vect.html b/scripts/d.what.vect/d.what.vect.html index 6009738fb96..2208e4a51af 100644 --- a/scripts/d.what.vect/d.what.vect.html +++ b/scripts/d.what.vect/d.what.vect.html @@ -9,6 +9,7 @@

    SEE ALSO

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -18,6 +19,12 @@

    SEE ALSO

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) d.what.rast, d.redraw, diff --git a/scripts/g.extension/g.extension.html b/scripts/g.extension/g.extension.html index 4327c45252d..1914e862611 100644 --- a/scripts/g.extension/g.extension.html +++ b/scripts/g.extension/g.extension.html @@ -37,6 +37,7 @@

    Where the extensions are installed

    The default is a directory for application data and settings inside <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD the user's home directory. ======= the user's home directory. @@ -47,6 +48,9 @@

    Where the extensions are installed

    ======= the user's home directory. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +the user's home directory. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) On GNU/Linux it is $HOME/.grass8/addons, on MS-Windows it is %APPDATA%\Roaming\GRASS8\addons. The name of the directory is stored in the GRASS_ADDON_BASE @@ -98,6 +102,7 @@

    Online repositories: GitHub, GitLab and Bitbucket

    Here the user only needs to provide a base URL to the repository web page (with or without the https:// part). <<<<<<< HEAD +<<<<<<< HEAD For GitHub, GitLab and Bitbucket, the latest source code in the default branch is downloaded, unless a specific branch is requested in the branch option. @@ -105,6 +110,8 @@

    Online repositories: GitHub, GitLab and Bitbucket

    Of course, a user can still specify the full URL of a ZIP file e.g. for a specific release and install the archived code in this way (ZIP file mechanism ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) For GitLab and Bitbucket, the latest source code in the default branch is downloaded, for GitHub, the latest source code in the master branch is downloaded. Of course, a user can still specify the full URL of a ZIP file diff --git a/scripts/i.band.library/landsat.json b/scripts/i.band.library/landsat.json index 0e5146656f6..dafb3e54309 100644 --- a/scripts/i.band.library/landsat.json +++ b/scripts/i.band.library/landsat.json @@ -145,6 +145,7 @@ "tag": "Cirrus" <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD }, ======= @@ -156,6 +157,12 @@ ======= }, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + }, +======= + }, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "10": { "wavelength (µm)": "10.6-11.19", "spatial resolution (meters)": 100, diff --git a/scripts/i.band.library/sentinel.json b/scripts/i.band.library/sentinel.json index 9bb173bedaa..8b78f5a1232 100644 --- a/scripts/i.band.library/sentinel.json +++ b/scripts/i.band.library/sentinel.json @@ -9,6 +9,7 @@ "1": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 443.9, @@ -18,22 +19,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 443.9, "bandwidth (nm)": 27 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 443.9, "bandwidth (nm)": 27 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 442.3, "bandwidth (nm)": 45 }, @@ -43,6 +53,7 @@ "2": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 496.6, @@ -52,22 +63,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 496.6, "bandwidth (nm)": 98 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 496.6, "bandwidth (nm)": 98 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 492.1, "bandwidth (nm)": 98 }, @@ -77,6 +97,7 @@ "3": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 560.0, @@ -86,22 +107,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 560.0, "bandwidth (nm)": 45 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 560.0, "bandwidth (nm)": 45 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 559.0, "bandwidth (nm)": 46 }, @@ -111,6 +141,7 @@ "4": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 664.5, @@ -120,22 +151,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 664.5, "bandwidth (nm)": 38 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 664.5, "bandwidth (nm)": 38 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 665.0, "bandwidth (nm)": 39 }, @@ -145,6 +185,7 @@ "5": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 703.9, @@ -154,22 +195,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 703.9, "bandwidth (nm)": 19 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 703.9, "bandwidth (nm)": 19 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 703.8, "bandwidth (nm)": 20 }, @@ -179,6 +229,7 @@ "6": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 740.2, @@ -188,22 +239,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 740.2, "bandwidth (nm)": 18 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 740.2, "bandwidth (nm)": 18 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 739.1, "bandwidth (nm)": 18 }, @@ -213,6 +273,7 @@ "7": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 782.5, @@ -222,22 +283,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 782.5, "bandwidth (nm)": 28 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 782.5, "bandwidth (nm)": 28 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 779.7, "bandwidth (nm)": 28 }, @@ -247,6 +317,7 @@ "8": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 835.1, @@ -256,22 +327,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 835.1, "bandwidth (nm)": 145 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 835.1, "bandwidth (nm)": 145 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 833.0, "bandwidth (nm)": 133 }, @@ -281,6 +361,7 @@ "8A": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 864.8, @@ -290,22 +371,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 864.8, "bandwidth (nm)": 33 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 864.8, "bandwidth (nm)": 33 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 864.0, "bandwidth (nm)": 32 }, @@ -315,6 +405,7 @@ "9": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 945.0, @@ -324,22 +415,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 945.0, "bandwidth (nm)": 26 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 945.0, "bandwidth (nm)": 26 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 943.2, "bandwidth (nm)": 27 }, @@ -349,6 +449,7 @@ "10": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 1373.5, @@ -358,22 +459,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 1373.5, "bandwidth (nm)": 75 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 1373.5, "bandwidth (nm)": 75 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 1376.9, "bandwidth (nm)": 76 }, @@ -383,6 +493,7 @@ "11": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 1613.7, @@ -392,22 +503,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 1613.7, "bandwidth (nm)": 143 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 1613.7, "bandwidth (nm)": 143 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 1610.4, "bandwidth (nm)": 141 }, @@ -417,6 +537,7 @@ "12": { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "Sentinel 2A": { "central wavelength (nm)": 2202.4, @@ -426,22 +547,31 @@ ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "Sentinel 2A" : { "central wavelength (nm)": 2202.4, "bandwidth (nm)": 242 }, "Sentinel 2B" : { <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= "Sentinel 2A": { "central wavelength (nm)": 2202.4, "bandwidth (nm)": 242 }, "Sentinel 2B": { +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) "central wavelength (nm)": 2185.7, "bandwidth (nm)": 238 }, diff --git a/scripts/i.spectral/README b/scripts/i.spectral/README index 28a4f98145c..07c664c1961 100644 --- a/scripts/i.spectral/README +++ b/scripts/i.spectral/README @@ -1,8 +1,12 @@ +<<<<<<< HEAD <<<<<<< HEAD This GRASS module calculates the spectral response ======= This GRASS module calculates the spectral resonse >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + This GRASS module calculates the spectral resonse +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for raster images at a user specified point (by mouse). Requirement: diff --git a/scripts/m.proj/m.proj.html b/scripts/m.proj/m.proj.html index e24c2927622..c95a5cebe0d 100644 --- a/scripts/m.proj/m.proj.html +++ b/scripts/m.proj/m.proj.html @@ -159,7 +159,10 @@

    Custom projection parameter usage

    +datum settings are specified on both the input and output ======= +datum setings are specified on both the input and output +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) projections on the command line. The +towgs84 parameter can be used to define either 3 or 7 term datum transform coefficients, satisfying this requirement.

    If a datum is specified there is no need for the +ellps= or underlying diff --git a/scripts/r.in.aster/r.in.aster.html b/scripts/r.in.aster/r.in.aster.html index 24c7e493c48..0ca34344005 100644 --- a/scripts/r.in.aster/r.in.aster.html +++ b/scripts/r.in.aster/r.in.aster.html @@ -2,21 +2,30 @@

    DESCRIPTION

    r.in.aster rectifies, georeferences, and imports Terra-ASTER imagery <<<<<<< HEAD +<<<<<<< HEAD to current project using gdalwarp, hdf 4, and r.in.gdal, using projection parameters from g.proj. It can import Level 1A, Level 1B, their relative DEM products, and Level 1T. ======= to current location using gdalwarp, hdf 4, and r.in.gdal, using projection parameters from g.proj. It can import Level 1A, Level 1B, and relative DEM products. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +to current location using gdalwarp, hdf 4, and r.in.gdal, using projection parameters +from g.proj. It can import Level 1A, Level 1B, and relative DEM products. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    The program may be run interactively or non-interactively from the command line. In either case, the user must specify an input *.hdf file name, the type of processing used, the image band to import, and an output GRASS raster map name. <<<<<<< HEAD +<<<<<<< HEAD

    The type parameter can take values of L1A, L1B, L1T or DEM. =======

    The type parameter can take values of L1A, L1B, or DEM. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +

    The type parameter can take values of L1A, L1B, or DEM. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    The band parameter can take values of 1, 2, 3n, 3b, 4-14

    NOTES

    @@ -26,6 +35,7 @@

    NOTES

    AUTHORS

    +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD Michael Barton, Arizona State University and Paul Kelly @@ -38,3 +48,9 @@

    AUTHORS

    ======= Michael Barton, Arizona State University and Paul Kelly >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Michael Barton, Arizona State University and Paul Kelly +======= +Michael Barton, Arizona State University and Paul Kelly +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/scripts/r.in.wms/r.in.wms.html b/scripts/r.in.wms/r.in.wms.html index 486263c28da..263b8fdcbf4 100644 --- a/scripts/r.in.wms/r.in.wms.html +++ b/scripts/r.in.wms/r.in.wms.html @@ -17,10 +17,14 @@

    NOTES

    <<<<<<< HEAD +<<<<<<< HEAD If possible, the EPSG code of the current project should be used with the ======= If possible, the EPSG code of the current location should be used with the >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +If possible, the EPSG code of the current location should be used with the +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) srs option to avoid unnecessary reprojection.

    diff --git a/scripts/r.mask/r.mask.html b/scripts/r.mask/r.mask.html index f2d83cc73d2..f9c6586e5ab 100644 --- a/scripts/r.mask/r.mask.html +++ b/scripts/r.mask/r.mask.html @@ -8,6 +8,7 @@

    DESCRIPTION

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) for example when used as an input map in a module. The MASK will block out @@ -26,6 +27,8 @@

    DESCRIPTION

    named "MASK", it can be copied, renamed, removed, and used in analyses, just like other GRASS raster map layers. ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for example when used as an input map in a module. The MASK will block out certain areas of a raster map from analysis and/or display, by "hiding" them from sight of other GRASS modules. Data falling within the boundaries of the @@ -40,7 +43,26 @@

    DESCRIPTION

    Because the MASK created with r.mask is actually only a reclass map named "MASK", it can be copied, renamed, removed, and used in analyses, just like other GRASS raster map layers. +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= +for example when used as an input map in a module. The MASK will block out +certain areas of a raster map from analysis and/or display, by "hiding" them +from sight of other GRASS modules. Data falling within the boundaries of the +MASK can be modified and operated upon by other GRASS raster modules; data +falling outside the MASK is treated as if it were NULL. +

    +By default, r.mask converts any non-NULL value in the input map, +including zero, to 1. All these areas will be part of the MASK (see the notes +for more details). To only convert specific values (or range of values) to 1 +and the rest to NULL, use the maskcats parameter. +

    +Because the MASK created with r.mask is actually only a reclass map +named "MASK", it can be copied, renamed, removed, and used in analyses, just +like other GRASS raster map layers. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    ======= for example when used as an input map in a module. The MASK will block out @@ -68,6 +90,7 @@

    DESCRIPTION

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Alternatively, a mask can be removed using g.remove or by renaming it ======= Alternatively, a mask can be removed using g.remove or by renaming it @@ -78,6 +101,12 @@

    DESCRIPTION

    ======= Alternatively, a mask can be removed using g.remove or by renaming it >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Alternatively, a mask can be removed using g.remove or by renaming it +======= +Alternatively, a mask can be removed using g.remove or by renaming it +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) to any other name with g.rename.

    NOTES

    @@ -85,6 +114,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The above method for specifying a "mask" may seem counterintuitive. Areas inside the MASK are not hidden; areas outside the MASK will be ignored until the MASK file is removed. @@ -115,6 +145,8 @@

    NOTES

    (see example below). Note that the maskcats can only be used if the >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) The above method for specifying a "mask" may seem counterintuitive. Areas inside the MASK are not hidden; areas outside the MASK will be ignored until the MASK file is removed. @@ -126,10 +158,26 @@

    NOTES

    MASK with the maskcats parameter; if r.mask is run from the command line, the category values listed in maskcats must be quoted (see example below). Note that the maskcats can only be used if the +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= (see example below). Note that the maskcats can only be used if the >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +The above method for specifying a "mask" may seem counterintuitive. Areas +inside the MASK are not hidden; areas outside the MASK will be ignored until +the MASK file is removed. +

    +r.mask uses r.reclass to create a reclassification of an +existing raster map and name it MASK. A reclass map takes up less +space, but is affected by any changes to the underlying map from which it was +created. The user can select category values from the input raster to use in the +MASK with the maskcats parameter; if r.mask is run from the +command line, the category values listed in maskcats must be quoted +(see example below). Note that the maskcats can only be used if the +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) input map is an integer map.

    Different ways to create a MASK

    @@ -137,8 +185,13 @@

    Different ways to create a MASK

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The r.mask function creates a MASK with values 1 and NULL. But note that a MASK can also be created using other functions that have a raster as +======= +The r.mask function creates a MASK with values 1 and NULL. But note +that a MASK can also be created using other functions that have a raster as +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) output, by naming the output raster 'MASK'. Such layers could have other values than 1 and NULL. The user should therefore be aware that grid cells in the MASK map containing NULL or 0 will replace data with @@ -166,6 +219,7 @@

    Different ways to create a MASK

    If a binary map with [0,1] values is used as input in r.mask, all raster cells with 0 and 1 will be part of the MASK. This is because <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -173,6 +227,20 @@

    Different ways to create a MASK

    If a binary map with [0,1] values is used as input in r.mask, all raster cells with 0 and 1 will be part of the MASK. This is because >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +The r.mask function creates a MASK with values 1 and NULL. But note +that a MASK can also be created using other functions that have a raster as +output, by naming the output raster 'MASK'. Such layers could have other +values than 1 and NULL. The user should therefore be aware that grid cells +in the MASK map containing NULL or 0 will replace data with +NULL, while cells containing other values will allow data to pass through +unaltered. This means that: +

    +If a binary map with [0,1] values is used as input in r.mask, all +raster cells with 0 and 1 will be part of the MASK. This is because +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) r.mask converts all non-NULL cells to 1.

    @@ -183,6 +251,7 @@ 

    Different ways to create a MASK

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD On the other hand, if a binary map is used as an input in g.copy to create a MASK, ======= On the other hand, if a binary map is used as an input in g.copy to create a MASK, @@ -193,6 +262,12 @@

    Different ways to create a MASK

    ======= On the other hand, if a binary map is used as an input in g.copy to create a MASK, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +On the other hand, if a binary map is used as an input in g.copy to create a MASK, +======= +On the other hand, if a binary map is used as an input in g.copy to create a MASK, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) only the raster cells with value 1 will be part of the MASK.
    @@ -206,6 +281,7 @@ 

    Handling of floating-point maps

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD floating maps are not allowed in combination with the maskcats parameter); all non-NULL values of the input raster map are converted to 1 and are thus part of the MASK. In the example below, all raster cells are part of @@ -220,10 +296,19 @@

    Handling of floating-point maps

    are thus part of the MASK. In the example below, all raster cells are part of >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= +floating maps are not allowed in combination with the maskcats +parameter); all non-NULL values of the input raster map are converted to 1 and +are thus part of the MASK. In the example below, all raster cells are part of +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= floating maps are not allowed in combination with the maskcats parameter); all non-NULL values of the input raster map are converted to 1 and are thus part of the MASK. In the example below, all raster cells are part of +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) the MASK, i.e., nothing is blocked out from analysis and/or display.
    @@ -238,6 +323,7 @@ 

    Handling of floating-point maps

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD changed with r.quant). ======= changed with r.quant). @@ -248,6 +334,12 @@

    Handling of floating-point maps

    ======= changed with r.quant). >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +changed with r.quant). +======= +changed with r.quant). +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
     r.mapcalc -s "map4 = rand(0.0,1.0)"
    @@ -257,6 +349,7 @@ 

    Handling of floating-point maps

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD In the example above, raster cells with a rounded value of 1 are part of the MASK, while raster cells with a rounded value of 0 are converted to NULL ======= @@ -271,6 +364,14 @@

    Handling of floating-point maps

    In the example above, raster cells with a rounded value of 1 are part of the MASK, while raster cells with a rounded value of 0 are converted to NULL >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +In the example above, raster cells with a rounded value of 1 are part of +the MASK, while raster cells with a rounded value of 0 are converted to NULL +======= +In the example above, raster cells with a rounded value of 1 are part of +the MASK, while raster cells with a rounded value of 0 are converted to NULL +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) and consequently blocked out from analysis and/or display.

    EXAMPLES

    diff --git a/scripts/v.db.reconnect.all/v.db.reconnect.all.html b/scripts/v.db.reconnect.all/v.db.reconnect.all.html index b8bbd4a3fe1..2e79cae5450 100644 --- a/scripts/v.db.reconnect.all/v.db.reconnect.all.html +++ b/scripts/v.db.reconnect.all/v.db.reconnect.all.html @@ -3,6 +3,7 @@

    DESCRIPTION

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -12,6 +13,12 @@

    DESCRIPTION

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) v.db.reconnect.all changes database connection of all layers of all vector maps in the current mapset from the source (old_database) to the target (new_database) database. If @@ -35,6 +42,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -44,6 +52,12 @@

    NOTES

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) The value of the old_database option needs to be the exact string which appears as the fourth field printed by v.db.connect -g. diff --git a/scripts/v.import/v.import.html b/scripts/v.import/v.import.html index 1e6a58294e9..315817e38e3 100644 --- a/scripts/v.import/v.import.html +++ b/scripts/v.import/v.import.html @@ -79,6 +79,7 @@

    AUTHORS

    Improvements: Martin Landa, Anna Petrasova <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= <<<<<<< HEAD @@ -87,3 +88,8 @@

    AUTHORS

    >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/scripts/v.what.vect/v.what.vect.html b/scripts/v.what.vect/v.what.vect.html index e6f01998f30..f2563c1edbf 100644 --- a/scripts/v.what.vect/v.what.vect.html +++ b/scripts/v.what.vect/v.what.vect.html @@ -24,7 +24,10 @@

    NOTES

    is in meters for latitude-longitude projects. ======= is in meters for latitude-longitude locations. +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    In case that one or both input vector maps are 3D, features need to touch also in the 3rd dimension (z coordinate) in order to transfer attributes. diff --git a/temporal/t.copy/t.copy.html b/temporal/t.copy/t.copy.html index 74d0bebb91b..f7fa8d441ad 100644 --- a/temporal/t.copy/t.copy.html +++ b/temporal/t.copy/t.copy.html @@ -46,6 +46,7 @@

    AUTHOR

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -54,3 +55,8 @@

    AUTHOR

    >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/temporal/t.rast.accumulate/t.rast.accumulate.html b/temporal/t.rast.accumulate/t.rast.accumulate.html index 47a8bb664b2..364b04ee40a 100644 --- a/temporal/t.rast.accumulate/t.rast.accumulate.html +++ b/temporal/t.rast.accumulate/t.rast.accumulate.html @@ -286,6 +286,7 @@

    REFERENCES

  • Jones, G.V., Duff, A.A., Hall, A., Myers, J.W., 2010. <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD Spatial Analysis of Climate in Winegrape Growing Regions in the ======= @@ -297,6 +298,12 @@

    REFERENCES

    ======= Spatial Analysis of Climate in Winegrape Growing Regions in the >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + Spatial Analysis of Climate in Winegrape Growing Regions in the +======= + Spatial Analysis of Climate in Winegrape Growing Regions in the +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Western United States. Am. J. Enol. Vitic. 61, 313-326.
  • diff --git a/temporal/t.rast.algebra/t.rast.algebra.html b/temporal/t.rast.algebra/t.rast.algebra.html index 56608fa747b..a57f1e0a6f8 100644 --- a/temporal/t.rast.algebra/t.rast.algebra.html +++ b/temporal/t.rast.algebra/t.rast.algebra.html @@ -6,6 +6,7 @@

    DESCRIPTION

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The module expects an expression as input parameter in the ======= ======= @@ -15,6 +16,12 @@

    DESCRIPTION

    ======= The module expects an expression as input parameter in the >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +The module expects an expression as input parameter in the +======= +The module expects an expression as input parameter in the +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) following form:

    "result = expression" @@ -462,9 +469,12 @@

    Temporal neighbourhood modifier

    raster algebra with the temporal dimension. The format is strds[t,r,c], where t is the temporal offset, r is the row offset and c is the column <<<<<<< HEAD +<<<<<<< HEAD offset. A single neighborhood modifier is interpreted as temporal offset [t], while two neighborhood modifiers are interpreted as row and column offsets [r,c]. ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) offset. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) diff --git a/temporal/t.rast.list/testsuite/test_t_rast_list.sh b/temporal/t.rast.list/testsuite/test_t_rast_list.sh index a747551ab2c..71b891ffeb7 100755 --- a/temporal/t.rast.list/testsuite/test_t_rast_list.sh +++ b/temporal/t.rast.list/testsuite/test_t_rast_list.sh @@ -20,6 +20,7 @@ r.mapcalc expr="prec_6 = rand(0, 650)" -s <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD n1=`g.tempfile pid=1 -d` ======= n1=`g.tempfile pid=1 -d` @@ -30,6 +31,12 @@ n1=`g.tempfile pid=1 -d` ======= n1=`g.tempfile pid=1 -d` >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +n1=`g.tempfile pid=1 -d` +======= +n1=`g.tempfile pid=1 -d` +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) n2=`g.tempfile pid=2 -d` n3=`g.tempfile pid=3 -d` n4=`g.tempfile pid=4 -d` diff --git a/temporal/t.rast.series/t.rast.series.html b/temporal/t.rast.series/t.rast.series.html index 57a3693bff3..5b89ab7d8b2 100644 --- a/temporal/t.rast.series/t.rast.series.html +++ b/temporal/t.rast.series/t.rast.series.html @@ -57,6 +57,27 @@

    Performance

    ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +

    NOTES

    + +To avoid problems with too many open files, by default, the maximum +number of open files is set to 1000. If the number of input raster +files exceeds this number, the -z flag will be invoked. Because this +will slow down processing, the user can set a higher limit with the +file_limit parameter. Note that file_limit limit should not exceed the +user-specific limit on open files set by your operating system. See the +Wiki +for more information. + +

    Performance

    +To enable parallel processing, the user can specify the number of threads to be +used with the nprocs parameter (default 1). The memory parameter +(default 300 MB) can also be provided to determine the size of the buffer in MB for +computation. Both parameters are passed to r.series. +To take advantage of the parallelization, GRASS GIS +needs to be compiled with OpenMP enabled. + +

    EXAMPLES

    Estimate the average temperature for the whole time series

    diff --git a/temporal/t.shift/t.shift.html b/temporal/t.shift/t.shift.html index 31515c12a4e..59ddcb19e7f 100644 --- a/temporal/t.shift/t.shift.html +++ b/temporal/t.shift/t.shift.html @@ -16,6 +16,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) Be careful when shifting space time datasets with absolute time. The @@ -29,6 +30,8 @@

    NOTES

    ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Be careful when shifting space time datasets with absolute time. The temporal granularity may change if you shift a space time dataset with a unit that is different from the space time dataset granularity. Be @@ -36,9 +39,21 @@

    NOTES

    days per month. Shifting the date 20012-03-31 with a granularity of one month will result in 2012-04-31 which is incorrect. In this case an error will raise and the shifting will not performed for the whole +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +Be careful when shifting space time datasets with absolute time. The +temporal granularity may change if you shift a space time dataset with +a unit that is different from the space time dataset granularity. Be +aware that the shifting with months and years may result in incorrect +days per month. Shifting the date 20012-03-31 with a granularity of one +month will result in 2012-04-31 which is incorrect. In this case an +error will raise and the shifting will not performed for the whole +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) dataset.

    You can use the extraction module to shift only a subset of maps from a diff --git a/testsuite/README.md b/testsuite/README.md index 85e11310483..276fa1fb660 100644 --- a/testsuite/README.md +++ b/testsuite/README.md @@ -46,6 +46,7 @@ Until 2019: For a more advanced test suite, see <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -53,3 +54,8 @@ Until 2019: For a more advanced test suite, see >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/utils/grass_indent.sh b/utils/grass_indent.sh index aa4ee9f16ba..8ade57c3988 100755 --- a/utils/grass_indent.sh +++ b/utils/grass_indent.sh @@ -15,7 +15,15 @@ # TODO: replace short flags by long ones to improve readability +<<<<<<< HEAD case "$(uname)" in +======= +<<<<<<< HEAD +case "$(uname)" in +======= +case "$(uname)" in +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Darwin | *BSD*) INDENT=$(which gindent) ;; diff --git a/utils/release.yml b/utils/release.yml index 9d6164fdde2..503396921f6 100644 --- a/utils/release.yml +++ b/utils/release.yml @@ -129,6 +129,7 @@ notes: - title: Continuous Integration, Tests, Code Quality, and Checks <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD regexp: '(CI|ci|CI\(deps\)|ci\(deps\)|[Tt]ests|[Cc]hecks|pytest): ' >>>>>>> 12b43eb397 (wxpyimgview: explicit conversion to int (#2704)) @@ -150,6 +151,12 @@ notes: ======= regexp: '(CI|ci|CI\(deps\)|ci\(deps\)|[Tt]ests|[Cc]hecks|pytest): ' >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + regexp: '(CI|ci|[Tt]ests|[Cc]hecks|pytest): ' +======= + regexp: '(CI|ci|CI\(deps\)|ci\(deps\)|[Tt]ests|[Cc]hecks|pytest): ' +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) - title: Contributing and Management regexp: '(contributing|CONTRIBUTING.md|contributors.csv): ' diff --git a/vector/v.buffer/main.c b/vector/v.buffer/main.c index 96c48054178..24d98941d3d 100644 --- a/vector/v.buffer/main.c +++ b/vector/v.buffer/main.c @@ -353,6 +353,7 @@ int main(int argc, char *argv[]) if (bufcol_opt->answer && field == -1) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD G_fatal_error(_("The column option requires a valid layer.")); ======= @@ -364,6 +365,12 @@ int main(int argc, char *argv[]) ======= G_fatal_error(_("The column option requires a valid layer.")); >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + G_fatal_error(_("The bufcol option requires a valid layer.")); +======= + G_fatal_error(_("The column option requires a valid layer.")); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) tolerance = 0.01; if (tol_opt->answer) { diff --git a/vector/v.build.polylines/v.build.polylines.html b/vector/v.build.polylines/v.build.polylines.html index 31c88699217..63029abc4d5 100644 --- a/vector/v.build.polylines/v.build.polylines.html +++ b/vector/v.build.polylines/v.build.polylines.html @@ -83,6 +83,7 @@

    AUTHORS

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Mark Lake, Institute of Archaeology, University College London.
    ======= ======= @@ -92,6 +93,12 @@

    AUTHORS

    ======= Mark Lake, Institute of Archaeology, University College London.
    >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Mark Lake, Institute of Archaeology, University College London.
    +======= +Mark Lake, Institute of Archaeology, University College London.
    +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Major rewrite by Radim Blazek, October 2002
    Category mode added by Martin Landa, FBK-irst, Trento, Italy, October 2007
    Support for categories, attributes, and different line types by Markus Metz diff --git a/vector/v.clean/v.clean.html b/vector/v.clean/v.clean.html index 111ec385559..43f9281f00e 100644 --- a/vector/v.clean/v.clean.html +++ b/vector/v.clean/v.clean.html @@ -50,8 +50,11 @@

    Remove dangles or change boundary dangles to type line

    Threshold has to be given as maximum line/boundary length in map units; <<<<<<< HEAD +<<<<<<< HEAD for latitude-longitude projects in degrees. Dangles shorter than ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) for latitude-longitude locations in degree. Dangles shorter than >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) thresh are removed sequentially. All dangles will be removed if @@ -112,10 +115,14 @@

    Snap lines to vertex in threshold

    Threshold gives maximum distance to another vertex in map units, <<<<<<< HEAD +<<<<<<< HEAD for latitude-longitude projects in degrees. ======= for latitude-longitude locations in degree. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +for latitude-longitude locations in degree. +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    Snapped boundaries may need to be cleaned with break,rmdupl,rmsa. If the -c flag is used with v.clean tool=snap, the @@ -170,8 +177,11 @@

    Remove small areas

    Threshold must always be in square meters, also for latitude-longitude <<<<<<< HEAD +<<<<<<< HEAD projects or projects with units other than meters. ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) locations or locations with units other than meters. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) diff --git a/vector/v.cluster/main.c b/vector/v.cluster/main.c index bf89192a5f9..b58837c38eb 100644 --- a/vector/v.cluster/main.c +++ b/vector/v.cluster/main.c @@ -258,6 +258,7 @@ int main(int argc, char *argv[]) sum = sumsq = 0; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD min = INFINITY; ======= @@ -269,6 +270,12 @@ int main(int argc, char *argv[]) ======= min = INFINITY; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + min = 1.0 / 0.0; +======= + min = INFINITY; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) max = 0; kd = G_malloc(minpnts * sizeof(double)); ki = G_malloc(minpnts * sizeof(int)); @@ -477,6 +484,7 @@ int main(int argc, char *argv[]) sum = sumsq = 0; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD min = INFINITY; ======= @@ -488,6 +496,12 @@ int main(int argc, char *argv[]) ======= min = INFINITY; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + min = 1.0 / 0.0; +======= + min = INFINITY; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) max = 0; kd = G_malloc(minpnts * sizeof(double)); ki = G_malloc(minpnts * sizeof(int)); diff --git a/vector/v.delaunay/memory.c b/vector/v.delaunay/memory.c index 3ebc80fcabd..046103987f0 100644 --- a/vector/v.delaunay/memory.c +++ b/vector/v.delaunay/memory.c @@ -113,6 +113,7 @@ void alloc_edges(unsigned int n) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD void free_memory(void) ======= ======= @@ -122,6 +123,12 @@ void free_memory() ======= void free_memory(void) >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +void free_memory() +======= +void free_memory(void) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) { G_free(sites); G_free(edges); diff --git a/vector/v.delaunay/v.delaunay.html b/vector/v.delaunay/v.delaunay.html index fbad9c1ae7d..a75e9059c1d 100644 --- a/vector/v.delaunay/v.delaunay.html +++ b/vector/v.delaunay/v.delaunay.html @@ -21,6 +21,7 @@

    REFERENCES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Leonid Guibas and Jorge Stolfi, (1985). Primitives for the ======= ======= @@ -30,6 +31,12 @@

    REFERENCES

    ======= Leonid Guibas and Jorge Stolfi, (1985). Primitives for the >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Leonid Guibas and Jorge Stolfi, (1985). Primitives for the +======= +Leonid Guibas and Jorge Stolfi, (1985). Primitives for the +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Manipulation of General Subdivisions and the Computation of Voronoi Diagrams, ACM Transactions on Graphics, Vol 4, No. 2, April 1985, Pages 74-123 diff --git a/vector/v.distance/distance.c b/vector/v.distance/distance.c index 3e24e433030..31481576fe2 100644 --- a/vector/v.distance/distance.c +++ b/vector/v.distance/distance.c @@ -13,6 +13,7 @@ int get_line_box(const struct line_pnts *Points, struct bound_box *box) if (Points->n_points == 0) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD box->E = box->W = box->N = box->S = box->T = box->B = NAN; ======= @@ -24,6 +25,12 @@ int get_line_box(const struct line_pnts *Points, struct bound_box *box) ======= box->E = box->W = box->N = box->S = box->T = box->B = NAN; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + box->E = box->W = box->N = box->S = box->T = box->B = 0.0 / 0.0; +======= + box->E = box->W = box->N = box->S = box->T = box->B = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; } diff --git a/vector/v.generalize/displacement.c b/vector/v.generalize/displacement.c index 48962196a2a..b032f1b4291 100644 --- a/vector/v.generalize/displacement.c +++ b/vector/v.generalize/displacement.c @@ -202,6 +202,7 @@ int snakes_displacement(struct Map_info *In, struct Map_info *Out, for (iter = 0; iter < iterations; iter++) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD G_percent(iter, iterations, 1); @@ -269,6 +270,8 @@ int snakes_displacement(struct Map_info *In, struct Map_info *Out, matrix_add(&dy, &fy, &fy); ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int conflicts = 0; G_percent(iter, iterations, 1); @@ -337,7 +340,77 @@ int snakes_displacement(struct Map_info *In, struct Map_info *Out, matrix_add(&dx, &fx, &fx); matrix_add(&dy, &fy, &fy); +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + G_percent(iter, iterations, 1); + + matrix_mult_scalar(0.0, &fx); + matrix_mult_scalar(0.0, &fy); + + matrix_mult_scalar(0.0, &dx_old); + matrix_mult_scalar(0.0, &dy_old); + + matrix_add(&dx_old, &dx, &dx_old); + matrix_add(&dy_old, &dy, &dy_old); + + /* calculate force vectors */ + for (i = 0; i < index; i++) { + + double cx, cy, f; + + if (point_index[i] == -1) + continue; + cx = dx.a[point_index[i]][0]; + cy = dy.a[point_index[i]][0]; + f = sqrt(cx * cx + cy * cy) * alpha; + f /= threshold2; + fx.a[point_index[i]][0] -= cx * f; + fy.a[point_index[i]][0] -= cy * f; + + for (j = 1; j < index; j++) { + if (line_index[i] == line_index[j] || first[j] || + point_index[i] == point_index[j] || + point_index[i] == point_index[j - 1]) + continue; + /* if ith point is close to some segment then + * apply force to ith point. If the distance + * is zero, do not move the points */ + double d, pdist; + POINT in; + int status; + + d = dig_distance2_point_to_line( + parray[i].x, parray[i].y, parray[i].z, parray[j].x, + parray[j].y, parray[j].z, parray[j - 1].x, parray[j - 1].y, + parray[j - 1].z, with_z, &in.x, &in.y, &in.z, &pdist, + &status); + + POINT dir; + + if (d == 0.0 || d > threshold2) + continue; + d = sqrt(d); + point_subtract(parray[i], in, &dir); + point_scalar(dir, 1.0 / d, &dir); + point_scalar(dir, 1.0 - d / threshold, &dir); + fx.a[point_index[i]][0] += dir.x; + fy.a[point_index[i]][0] += dir.y; + } + } + + /* calculate new displacement */ + matrix_mult_scalar(delta, &fx); + matrix_mult_scalar(delta, &fy); + matrix_mult_scalar(gama, &dx); + matrix_mult_scalar(gama, &dy); + + matrix_add(&dx, &fx, &fx); + matrix_add(&dy, &fy, &fy); + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) matrix_mult(&kinv, &fx, &dx); matrix_mult(&kinv, &fy, &dy); diff --git a/vector/v.generalize/v.generalize.html b/vector/v.generalize/v.generalize.html index bc3ba9bc7f4..bec5c18e4d7 100644 --- a/vector/v.generalize/v.generalize.html +++ b/vector/v.generalize/v.generalize.html @@ -20,6 +20,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD (Line) simplification is a process of reducing the complexity of vector features. The module transforms a line into another line consisting of fewer vertices, that still approximate the original line. Most of the @@ -31,10 +32,19 @@

    NOTES

    fewer vertices, that still approximate the original line. Most of the >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +(Line) simplification is a process of reducing the complexity of vector +features. The module transforms a line into another line consisting of +fewer vertices, that still approximate the original line. Most of the +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= (Line) simplification is a process of reducing the complexity of vector features. The module transforms a line into another line consisting of fewer vertices, that still approximate the original line. Most of the +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) algorithms described below select a subset of points on the original line.

    (Line) smoothing is a "reverse" process which takes as input a line and @@ -292,11 +302,15 @@

    NETWORK GENERALIZATION

    All three parameters above can be presented at the same time. In that case, the algorithm selects only the lines which meet each criterion. +<<<<<<< HEAD <<<<<<< HEAD

    Also, the outputted network may not be connected if the value of =======

    Also, the outputed network may not be connected if the value of >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +

    Also, the outputed network may not be connected if the value of +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) betweeness_thresh is too large.

    EXAMPLES

    diff --git a/vector/v.in.ascii/v.in.ascii.html b/vector/v.in.ascii/v.in.ascii.html index 10dc059601c..8a1c6bf3258 100644 --- a/vector/v.in.ascii/v.in.ascii.html +++ b/vector/v.in.ascii/v.in.ascii.html @@ -23,6 +23,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -32,6 +33,12 @@

    NOTES

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) The input is read from the file specified by the input option or from standard input. diff --git a/vector/v.in.lidar/v.in.lidar.html b/vector/v.in.lidar/v.in.lidar.html index 7ba7b2aa433..88952b658f0 100644 --- a/vector/v.in.lidar/v.in.lidar.html +++ b/vector/v.in.lidar/v.in.lidar.html @@ -121,6 +121,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The typical file extensions for the LAS format are .las and .laz (compressed). The compressed LAS (.laz) format can be imported only if libLAS has been compiled with laszip support. It is also recommended to compile libLAS with GDAL, @@ -128,6 +129,8 @@

    NOTES

    ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) The typical file extensions for the LAS format are .las and .laz (compressed). The compressed LAS (.laz) format can be imported only if libLAS has been compiled with laszip support. It is also recommended to compile libLAS with GDAL, @@ -135,7 +138,11 @@

    NOTES

    The typical file extensions for the LAS format are .las and .laz (compressed). The compressed LAS (.laz) format can be imported only if libLAS has been compiled with laszip support. It is also recommended to compile libLAS with GDAL, +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) needed to test for matching projections. >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) diff --git a/vector/v.in.ogr/main.c b/vector/v.in.ogr/main.c index 4e28f65c244..88011609c5d 100644 --- a/vector/v.in.ogr/main.c +++ b/vector/v.in.ogr/main.c @@ -756,14 +756,22 @@ int main(int argc, char *argv[]) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= Ogr_layer = ds_getlayerbyindex(Ogr_ds, i); +<<<<<<< HEAD Ogr_featuredefn = OGR_L_GetLayerDefn(Ogr_layer); available_layer_names[i] = G_store((char *)OGR_FD_GetName(Ogr_featuredefn)); +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= available_layer_names[i] = G_store((char *)OGR_L_GetName(Ogr_layer)); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + + available_layer_names[i] = G_store((char *)OGR_L_GetName(Ogr_layer)); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (flag.list->answer) fprintf(stdout, "%s\n", available_layer_names[i]); diff --git a/vector/v.in.ogr/testsuite/data/precip_30ynormals_3d.prj b/vector/v.in.ogr/testsuite/data/precip_30ynormals_3d.prj index 4f174148127..c019a9618ec 100644 --- a/vector/v.in.ogr/testsuite/data/precip_30ynormals_3d.prj +++ b/vector/v.in.ogr/testsuite/data/precip_30ynormals_3d.prj @@ -1,6 +1,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD PROJCS["NAD_1983_HARN_StatePlane_North_Carolina_FIPS_3200",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",609601.22],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-79.0],PARAMETER["Standard_Parallel_1",36.1666666666667],PARAMETER["Standard_Parallel_2",34.3333333333333],PARAMETER["Latitude_Of_Origin",33.75],UNIT["Meter",1.0]] ======= PROJCS["NAD_1983_HARN_StatePlane_North_Carolina_FIPS_3200",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",609601.22],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-79.0],PARAMETER["Standard_Parallel_1",36.1666666666667],PARAMETER["Standard_Parallel_2",34.3333333333333],PARAMETER["Latitude_Of_Origin",33.75],UNIT["Meter",1.0]] @@ -11,3 +12,9 @@ PROJCS["NAD_1983_HARN_StatePlane_North_Carolina_FIPS_3200",GEOGCS["GCS_North_Ame ======= PROJCS["NAD_1983_HARN_StatePlane_North_Carolina_FIPS_3200",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",609601.22],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-79.0],PARAMETER["Standard_Parallel_1",36.1666666666667],PARAMETER["Standard_Parallel_2",34.3333333333333],PARAMETER["Latitude_Of_Origin",33.75],UNIT["Meter",1.0]] >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +PROJCS["NAD_1983_HARN_StatePlane_North_Carolina_FIPS_3200",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",609601.22],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-79.0],PARAMETER["Standard_Parallel_1",36.1666666666667],PARAMETER["Standard_Parallel_2",34.3333333333333],PARAMETER["Latitude_Of_Origin",33.75],UNIT["Meter",1.0]] +======= +PROJCS["NAD_1983_HARN_StatePlane_North_Carolina_FIPS_3200",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",609601.22],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-79.0],PARAMETER["Standard_Parallel_1",36.1666666666667],PARAMETER["Standard_Parallel_2",34.3333333333333],PARAMETER["Latitude_Of_Origin",33.75],UNIT["Meter",1.0]] +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/vector/v.in.region/v.in.region.html b/vector/v.in.region/v.in.region.html index 8fb47dc8e60..fc6d42fbeef 100644 --- a/vector/v.in.region/v.in.region.html +++ b/vector/v.in.region/v.in.region.html @@ -15,7 +15,10 @@

    EXAMPLE

    The example is based on the North Carolina sample data. ======= The example is based on the North Carolina sample data location. +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) To create a bounding box vector map based on a raster map, the computational region is first set to the raster map. Then a vector bounding box is created based on the actual computational diff --git a/vector/v.kernel/global.h b/vector/v.kernel/global.h index 561014fc031..40df171edb2 100644 --- a/vector/v.kernel/global.h +++ b/vector/v.kernel/global.h @@ -28,6 +28,7 @@ double gaussian2dByTerms(double d, double term1, double term2); <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD double brent_iterate(double (*f)(double), double x_lower, double x_upper, ======= double brent_iterate(double (*f)(), double x_lower, double x_upper, @@ -38,6 +39,12 @@ double brent_iterate(double (*f)(), double x_lower, double x_upper, ======= double brent_iterate(double (*f)(double), double x_lower, double x_upper, >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +double brent_iterate(double (*f)(), double x_lower, double x_upper, +======= +double brent_iterate(double (*f)(double), double x_lower, double x_upper, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int maxiter); double kernel1(double d, double rs, double lambda); double segno(double x); diff --git a/vector/v.kernel/v.kernel.html b/vector/v.kernel/v.kernel.html index 785139886d5..7cb31f3fa37 100644 --- a/vector/v.kernel/v.kernel.html +++ b/vector/v.kernel/v.kernel.html @@ -47,6 +47,7 @@

    KNOWN ISSUES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The module only considers the presence of points, but not ======= ======= @@ -56,6 +57,12 @@

    KNOWN ISSUES

    ======= The module only considers the presence of points, but not >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +The module only considers the presence of points, but not +======= +The module only considers the presence of points, but not +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) (yet) any attribute values.

    REFERENCES

    diff --git a/vector/v.label.sa/annealing.c b/vector/v.label.sa/annealing.c index 62eb0744004..2f3307f8443 100644 --- a/vector/v.label.sa/annealing.c +++ b/vector/v.label.sa/annealing.c @@ -107,6 +107,7 @@ void simulate_annealing(label_t *labels, int n_labels, struct params *p) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= tot_better++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -115,6 +116,11 @@ void simulate_annealing(label_t *labels, int n_labels, struct params *p) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + tot_better++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } /* else apply with probability p=e^(-dE/T) */ else { @@ -130,17 +136,21 @@ void simulate_annealing(label_t *labels, int n_labels, struct params *p) consec_successes++; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD } else { ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) tot_worse++; } else { tot_ign++; <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -148,12 +158,19 @@ void simulate_annealing(label_t *labels, int n_labels, struct params *p) } else { >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +======= + } + else { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) consec_successes = 0; } } /* decrease immediately */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (consec_successes > (unsigned int)(5 * n_labels)) { ======= @@ -165,6 +182,12 @@ void simulate_annealing(label_t *labels, int n_labels, struct params *p) ======= if (consec_successes > (unsigned int)(5 * n_labels)) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (consec_successes > (5 * n_labels)) { +======= + if (consec_successes > (unsigned int)(5 * n_labels)) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) consec_successes = 0; break; } diff --git a/vector/v.lidar.correction/v.lidar.correction.html b/vector/v.lidar.correction/v.lidar.correction.html index c2c10120408..876f26114e1 100644 --- a/vector/v.lidar.correction/v.lidar.correction.html +++ b/vector/v.lidar.correction/v.lidar.correction.html @@ -66,10 +66,15 @@

    Second correction procedure

    REFERENCES

    +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD Antolin, R. et al., 2006. Digital terrain models determination by LiDAR technology: Po basin experimentation. Bolletino di Geodesia e Scienze +======= +Antolin, R. et al., 2006. Digital terrain models determination by LiDAR +technology: Po basin experimentation. Bolletino di Geodesia e Scienze +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Affini, anno LXV, n. 2, pp. 69-89.

    @@ -114,16 +119,42 @@

    REFERENCES


    <<<<<<< HEAD Brovelli M. A., Cannata M. and Longoni U.M., 2002. DTM LIDAR in area urbana, +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= Brovelli M. A., Cannata M. and Longoni U.M., 2002. DTM LIDAR in area urbana, >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +Antolin, R. et al., 2006. Digital terrain models determination by LiDAR +technology: Po basin experimentation. Bolletino di Geodesia e Scienze +Affini, anno LXV, n. 2, pp. 69-89. +
    +
    +Brovelli M. A., Cannata M., Longoni U.M., 2004. LIDAR Data Filtering and +DTM Interpolation Within GRASS, Transactions in GIS, April 2004, vol. 8, +iss. 2, pp. 155-174(20), Blackwell Publishing Ltd. +
    +
    +Brovelli M. A., Cannata M., 2004. Digital Terrain model reconstruction in +urban areas from airborne laser scanning data: the method and an example +for Pavia (Northern Italy). Computers and Geosciences 30 (2004) pp.325-331 +
    +
    +Brovelli M. A. and Longoni U.M., 2003. Software per il filtraggio di dati +LIDAR, Rivista dell'Agenzia del Territorio, n. 3-2003, pp. 11-22 (ISSN 1593-2192). +
    +
    +Brovelli M. A., Cannata M. and Longoni U.M., 2002. DTM LIDAR in area urbana, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Bollettino SIFET N.2, pp. 7-26.

    Performances of the filter can be seen in the <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ISPRS WG III/3 Comparison of Filters report by Sithole, G. and Vosselman, G., 2003. ======= @@ -134,6 +165,14 @@

    REFERENCES

    ISPRS WG III/3 Comparison of Filters report by Sithole, G. and Vosselman, G., 2003. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +ISPRS WG III/3 Comparison of Filters +report by Sithole, G. and Vosselman, G., 2003. +======= +ISPRS WG III/3 Comparison of Filters +report by Sithole, G. and Vosselman, G., 2003. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    SEE ALSO

    diff --git a/vector/v.lidar.growing/growing.c b/vector/v.lidar.growing/growing.c index d14d66e33a9..528ba72e665 100644 --- a/vector/v.lidar.growing/growing.c +++ b/vector/v.lidar.growing/growing.c @@ -37,6 +37,7 @@ void P_Aux_to_Coor(struct Map_info *In, struct Map_info *Out, dbDriver *driver, while (db_fetch(&cursor, DB_NEXT, &more) == DB_OK && more) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD table = db_get_cursor_table(&cursor); @@ -97,6 +98,8 @@ void P_Aux_to_Coor(struct Map_info *In, struct Map_info *Out, dbDriver *driver, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) cont++; table = db_get_cursor_table(&cursor); @@ -125,7 +128,38 @@ void P_Aux_to_Coor(struct Map_info *In, struct Map_info *Out, dbDriver *driver, if (!(ltype & GV_POINT)) continue; +<<<<<<< HEAD >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +======= + table = db_get_cursor_table(&cursor); + + ID_column = db_get_table_column(table, 0); + Interp_column = db_get_table_column(table, 1); + + ID_type = db_sqltype_to_Ctype(db_get_column_sqltype(ID_column)); + Interp_type = db_sqltype_to_Ctype(db_get_column_sqltype(Interp_column)); + + if (ID_type == DB_C_TYPE_INT) + ID_value = db_get_column_value(ID_column); + else + continue; + + if (Interp_type == DB_C_TYPE_DOUBLE) + Interp_value = db_get_column_value(Interp_column); + else + continue; + + line_num = db_get_value_int(ID_value); + quotaZ = db_get_value_double(Interp_value); + + ltype = Vect_read_line(In, point, cat, line_num); + + if (!(ltype & GV_POINT)) + continue; + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) point->z[0] = quotaZ; Vect_write_line(Out, ltype, point, cat); } diff --git a/vector/v.lidar.growing/main.c b/vector/v.lidar.growing/main.c index 943f75fc46c..6717d335a62 100644 --- a/vector/v.lidar.growing/main.c +++ b/vector/v.lidar.growing/main.c @@ -178,6 +178,7 @@ int main(int argc, char *argv[]) Cats = Vect_new_cats_struct(); Vect_rewind(&In); <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD while (Vect_read_next_line(&In, points, Cats) > 0) ; @@ -190,6 +191,15 @@ int main(int argc, char *argv[]) while (Vect_read_next_line(&In, points, Cats) > 0) ; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + while (Vect_read_next_line(&In, points, Cats) > 0) { + nlines++; + } +======= + while (Vect_read_next_line(&In, points, Cats) > 0) + ; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Vect_rewind(&In); /* no topology, get number of lines in first pulse input vector */ @@ -197,6 +207,7 @@ int main(int argc, char *argv[]) Cats_first = Vect_new_cats_struct(); Vect_rewind(&First); <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD while (Vect_read_next_line(&First, points_first, Cats_first) > 0) ; @@ -209,6 +220,15 @@ int main(int argc, char *argv[]) while (Vect_read_next_line(&First, points_first, Cats_first) > 0) ; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + while (Vect_read_next_line(&First, points_first, Cats_first) > 0) { + nlines_first++; + } +======= + while (Vect_read_next_line(&First, points_first, Cats_first) > 0) + ; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Vect_rewind(&First); /* Setting regions and boxes */ diff --git a/vector/v.lidar.growing/v.lidar.growing.html b/vector/v.lidar.growing/v.lidar.growing.html index f22a9081982..8f9a4313376 100644 --- a/vector/v.lidar.growing/v.lidar.growing.html +++ b/vector/v.lidar.growing/v.lidar.growing.html @@ -49,10 +49,15 @@

    Basic region growing procedure

    REFERENCES

    +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD Antolin, R. et al., 2006. Digital terrain models determination by LiDAR technology: Po basin experimentation. Bolletino di Geodesia e Scienze +======= +Antolin, R. et al., 2006. Digital terrain models determination by LiDAR +technology: Po basin experimentation. Bolletino di Geodesia e Scienze +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Affini, anno LXV, n. 2, pp. 69-89.

    Brovelli M. A., Cannata M., Longoni U.M., 2004. LIDAR Data Filtering and @@ -98,12 +103,37 @@

    REFERENCES

    <<<<<<< HEAD ISPRS WG III/3 Comparison of Filters <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= ISPRS WG III/3 Comparison of Filters >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +Antolin, R. et al., 2006. Digital terrain models determination by LiDAR +technology: Po basin experimentation. Bolletino di Geodesia e Scienze +Affini, anno LXV, n. 2, pp. 69-89. +

    +Brovelli M. A., Cannata M., Longoni U.M., 2004. LIDAR Data Filtering and +DTM Interpolation Within GRASS, Transactions in GIS, April 2004, vol. 8, +iss. 2, pp. 155-174(20), Blackwell Publishing Ltd. +

    +Brovelli M. A., Cannata M., 2004. Digital Terrain model reconstruction in +urban areas from airborne laser scanning data: the method and an example +for Pavia (Northern Italy). Computers and Geosciences 30 (2004) pp.325-331 +

    +Brovelli M. A. and Longoni U.M., 2003. Software per il filtraggio di dati +LIDAR, Rivista dell?Agenzia del Territorio, n. 3-2003, pp. 11-22 (ISSN 1593-2192). +

    +Brovelli M. A., Cannata M. and Longoni U.M., 2002. DTM LIDAR in area urbana, +Bollettino SIFET N.2, pp. 7-26. +

    +Performances of the filter can be seen in the +ISPRS WG III/3 Comparison of Filters +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) report by Sithole, G. and Vosselman, G., 2003.

    SEE ALSO

    diff --git a/vector/v.mkgrid/v.mkgrid.html b/vector/v.mkgrid/v.mkgrid.html index a58d4a836e5..a76bdc4bca6 100644 --- a/vector/v.mkgrid/v.mkgrid.html +++ b/vector/v.mkgrid/v.mkgrid.html @@ -192,6 +192,7 @@

    AUTHORS

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Update for new vectors Radim Blazek 10/2004 ======= Update for new vectors Radim Blazek 10/2004 @@ -202,3 +203,9 @@

    AUTHORS

    ======= Update for new vectors Radim Blazek 10/2004 >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Update for new vectors Radim Blazek 10/2004 +======= +Update for new vectors Radim Blazek 10/2004 +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/vector/v.net.bridge/v.net.bridge.html b/vector/v.net.bridge/v.net.bridge.html index 9a2e6211a94..ee354438cd8 100644 --- a/vector/v.net.bridge/v.net.bridge.html +++ b/vector/v.net.bridge/v.net.bridge.html @@ -7,6 +7,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Bridge in a network is an edge/line whose removal would disconnect the (sub-)network. A node is an articulation point if its removal would disconnect the (sub-)network. For more information and formal @@ -18,10 +19,19 @@

    NOTES

    would disconnect the (sub-)network. For more information and formal >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +Bridge in a network is an edge/line whose removal would disconnect +the (sub-)network. A node is an articulation point if its removal +would disconnect the (sub-)network. For more information and formal +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= Bridge in a network is an edge/line whose removal would disconnect the (sub-)network. A node is an articulation point if its removal would disconnect the (sub-)network. For more information and formal +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) definitions check the wikipedia entries: bridge and articulation diff --git a/vector/v.net.centrality/v.net.centrality.html b/vector/v.net.centrality/v.net.centrality.html index ae3f22713ed..6b029a2a048 100644 --- a/vector/v.net.centrality/v.net.centrality.html +++ b/vector/v.net.centrality/v.net.centrality.html @@ -30,6 +30,7 @@

    EXAMPLES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Compute closeness and betweenness centrality measures for each node and produce a map containing not only points already present in the ======= @@ -42,6 +43,14 @@

    EXAMPLES

    Compute closeness and betweenness centrality measures for each node and produce a map containing not only points already present in the >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Compute closeness and betweenness centrality measures for each node +and produce a map containing not only points already present in the +======= +Compute closeness and betweenness centrality measures for each node +and produce a map containing not only points already present in the +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) input map but a map with point on every node.
    diff --git a/vector/v.net.components/v.net.components.html b/vector/v.net.components/v.net.components.html
    index b1db0ecebf4..1aaa928c90d 100644
    --- a/vector/v.net.components/v.net.components.html
    +++ b/vector/v.net.components/v.net.components.html
    @@ -8,6 +8,7 @@ 

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) Two nodes, u and v are in the same strongly connected @@ -18,13 +19,24 @@

    NOTES

    ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Two nodes, u and v are in the same strongly connected component if there are directed paths from u to v and from v to u. The nodes are in the same weakly connected component if, ignoring edge directions, there is a path +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +Two nodes, u and v are in the same strongly connected +component if there are directed paths from u to v and +from v to u. The nodes are in the same weakly +connected component if, ignoring edge directions, there is a path +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) between them.

    The type of components is specified by method parameter. diff --git a/vector/v.net.connectivity/v.net.connectivity.html b/vector/v.net.connectivity/v.net.connectivity.html index ecfff5d3018..5ceabd899ce 100644 --- a/vector/v.net.connectivity/v.net.connectivity.html +++ b/vector/v.net.connectivity/v.net.connectivity.html @@ -19,6 +19,7 @@

    EXAMPLE

    The following command finds the minimum number of intersections separating <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD roads on the left bank from roads on the right bank. ======= roads on the left bank from roads on the right bank. @@ -29,6 +30,12 @@

    EXAMPLE

    ======= roads on the left bank from roads on the right bank. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +roads on the left bank from roads on the right bank. +======= +roads on the left bank from roads on the right bank. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))
     v.net.connectivity input=roads output=roads_conn set1_where="bank=left" \
    diff --git a/vector/v.net.distance/v.net.distance.html b/vector/v.net.distance/v.net.distance.html
    index fb4bf08c8d7..61ac6384ec3 100644
    --- a/vector/v.net.distance/v.net.distance.html
    +++ b/vector/v.net.distance/v.net.distance.html
    @@ -16,10 +16,14 @@ 

    NOTES

    distance between them respectively.

    <<<<<<< HEAD +<<<<<<< HEAD Furthermore, the output map contains the shortest path between ======= Furthemore, the output map contains the shortest path between >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Furthemore, the output map contains the shortest path between +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) each cat, tcat pair. Each path consists of several lines. If a line is on the shortest path from a point then the category of this point is assigned to the line. Note that every line may contain diff --git a/vector/v.net.flow/v.net.flow.html b/vector/v.net.flow/v.net.flow.html index 8f5062c27b5..ac99d08f4de 100644 --- a/vector/v.net.flow/v.net.flow.html +++ b/vector/v.net.flow/v.net.flow.html @@ -8,6 +8,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) The two sets of nodes are called sources and sink @@ -30,6 +31,8 @@

    NOTES

    ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) The two sets of nodes are called sources and sink and v.net.flow finds the maximum flow from the former to the latter ones. Edge capacities can be specified by arc_column @@ -46,9 +49,30 @@

    NOTES

    consists of two columns: cat and flow and stores the flow along each line. Negative flow means that "water" is flowing in the backward direction. Cut map contains the edges +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +The two sets of nodes are called sources and sink +and v.net.flow finds the maximum flow from the former to +the latter ones. Edge capacities can be specified by arc_column +for forward direction and arc_backward_column for backward direction. If +the latter parameter is omitted then the same capacity is used in +either direction. The sets are given by the respective cats, +layer and where parameters. Maximum flow corresponds +to the maximum amount of water possibly flowing through the network +preserving the capacity constraints and minimum cut to the set of edges +of minimum total capacity completely separating sources from sinks. +The cut produced by this module corresponds to the first fully +saturated edges from sources to sinks. An attribute table containing +the flow information is linked to the output map. The table +consists of two columns: cat and flow and stores +the flow along each line. Negative flow means that "water" is +flowing in the backward direction. Cut map contains the edges +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) in the minimum cut.
    A famous
    result diff --git a/vector/v.net.path/v.net.path.html b/vector/v.net.path/v.net.path.html index 9dd44014624..d22094ff93e 100644 --- a/vector/v.net.path/v.net.path.html +++ b/vector/v.net.path/v.net.path.html @@ -87,6 +87,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Nodes and arcs can be closed using cost = -1. ======= ======= @@ -96,6 +97,12 @@

    NOTES

    ======= Nodes and arcs can be closed using cost = -1. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Nodes and arcs can be closed using cost = -1. +======= +Nodes and arcs can be closed using cost = -1. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    If the cost columns arc_column, arc_backward_column and node_column are not specified, the length of network segments is measured and zero costs are assumed for nodes. diff --git a/vector/v.net.salesman/v.net.salesman.html b/vector/v.net.salesman/v.net.salesman.html index 951b49d1733..03fb56cfccb 100644 --- a/vector/v.net.salesman/v.net.salesman.html +++ b/vector/v.net.salesman/v.net.salesman.html @@ -38,6 +38,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Arcs can be closed using cost = -1. ======= ======= @@ -47,6 +48,12 @@

    NOTES

    ======= Arcs can be closed using cost = -1. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Arcs can be closed using cost = -1. +======= +Arcs can be closed using cost = -1. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Turns support: The costs of turns on visiting nodes are not taken in account.

    EXAMPLE

    @@ -176,6 +183,7 @@

    TURNS SUPPORT

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD at Czech Technical University in Prague, Czech Republic.
    ======= at Czech Technical University in Prague, Czech Republic.
    @@ -186,6 +194,12 @@

    TURNS SUPPORT

    ======= at Czech Technical University in Prague, Czech Republic.
    >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +at Czech Technical University in Prague, Czech Republic.
    +======= +at Czech Technical University in Prague, Czech Republic.
    +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Eliska Kyzlikova, Stepan Turek, Lukas Bocan and Viera Bejdova participated in the project.

    diff --git a/vector/v.net.spanningtree/v.net.spanningtree.html b/vector/v.net.spanningtree/v.net.spanningtree.html index 50aaa72ae2b..afd3aed0b17 100644 --- a/vector/v.net.spanningtree/v.net.spanningtree.html +++ b/vector/v.net.spanningtree/v.net.spanningtree.html @@ -8,6 +8,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) A spanning tree is a minimum cost subnetwork connecting all nodes in an @@ -23,6 +24,8 @@

    NOTES

    ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) A spanning tree is a minimum cost subnetwork connecting all nodes in an undirected network (same forward and backward costs). If a network is disconnected then the module computes the minimum spanning tree for @@ -32,9 +35,23 @@

    NOTES

    is, it contains no cycles and if a component has N nodes then the tree has N-1 edges connecting all nodes. Accol is used to specify the costs of the edges. The output consists of the edges in the +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +A spanning tree is a minimum cost subnetwork connecting all nodes in an +undirected network (same forward and backward costs). If a network is +disconnected then the module computes the minimum spanning tree for +each (weakly) connected component. So, strictly speaking, +v.net.spanningtree does not compute spanning tree but a +spanning forest. As the name suggests, a spanning tree is a tree. That +is, it contains no cycles and if a component has N nodes then the tree +has N-1 edges connecting all nodes. Accol is used to specify the +costs of the edges. The output consists of the edges in the +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) spanning tree.

    EXAMPLES

    diff --git a/vector/v.net.steiner/main.c b/vector/v.net.steiner/main.c index 55fef14a2e3..a4b9a2d0a16 100644 --- a/vector/v.net.steiner/main.c +++ b/vector/v.net.steiner/main.c @@ -644,6 +644,7 @@ int main(int argc, char **argv) } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= G_debug(1, "Nodes' categories (layer %d, %d nodes):", tfield, @@ -651,6 +652,13 @@ int main(int argc, char **argv) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + + G_debug(1, "Nodes' categories (layer %d, %d nodes):", tfield, + StNodes->n_values); +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_debug(1, "Nodes' categories (layer %d, %d nodes):", tfield, StNodes->n_values); @@ -681,6 +689,7 @@ int main(int argc, char **argv) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= k++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -689,6 +698,11 @@ int main(int argc, char **argv) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + k++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } diff --git a/vector/v.net.timetable/v.net.timetable.html b/vector/v.net.timetable/v.net.timetable.html index 78ab7c7d689..801d5bb97e0 100644 --- a/vector/v.net.timetable/v.net.timetable.html +++ b/vector/v.net.timetable/v.net.timetable.html @@ -106,10 +106,14 @@

    NOTES

    Note that stop_time is an integer and so you can use any <<<<<<< HEAD +<<<<<<< HEAD units and offset to specify arrival times.
    Also, walking ======= units and offest to specify arrival times.
    Also, walking >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +units and offest to specify arrival times.
    Also, walking +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) connections between stops can be given by a table linked to walking layer of the input map. If this parameter is -1 then walking between stops is not allowed. The table must contain diff --git a/vector/v.net.visibility/v.net.visibility.html b/vector/v.net.visibility/v.net.visibility.html index 683abeb9f38..f4acdd6d43e 100644 --- a/vector/v.net.visibility/v.net.visibility.html +++ b/vector/v.net.visibility/v.net.visibility.html @@ -73,6 +73,7 @@

    Example 1

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD

    Example 2

    =======

    Example 2

    @@ -83,6 +84,12 @@

    Example 2

    =======

    Example 2

    >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +

    Example 2

    +======= +

    Example 2

    +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) An example on how to use v.buffer along with the module: @@ -209,6 +216,7 @@

    KNOWN ISSUES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD In some cases when 3 points or nodes are collinear, some wrong edges are added. This happens only really rarly and shouldn't be a big problem. When two points have the exact same x coordinate and are @@ -220,10 +228,19 @@

    KNOWN ISSUES

    problem. When two points have the exact same x coordinate and are >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +In some cases when 3 points or nodes are collinear, some wrong edges +are added. This happens only really rarly and shouldn't be a big +problem. When two points have the exact same x coordinate and are +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) +======= In some cases when 3 points or nodes are collinear, some wrong edges are added. This happens only really rarly and shouldn't be a big problem. When two points have the exact same x coordinate and are +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) visible, some wrong edges are added.

    SEE ALSO

    diff --git a/vector/v.net/v.net.html b/vector/v.net/v.net.html index 6c1e7a5cd9e..a6519012cd1 100644 --- a/vector/v.net/v.net.html +++ b/vector/v.net/v.net.html @@ -94,6 +94,7 @@

    DESCRIPTION

    Turntable name consists of output vector map name + "_turntable_" + "t" + "_" + turn_layer + "_" + "tuc" + "_" + turn_cat_layer + "_" + "a" + "_" + arc_layer e. g. roads_turntable_t_3_tuc_4_a_1 +<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD

    These modules are able to work with the turntable: @@ -106,6 +107,12 @@

    DESCRIPTION

    =======

    These modules are able to work with the turntable: >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +

    These modules are able to work with the turntable: +======= +

    These modules are able to work with the turntable: +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) v.net.alloc, @@ -137,7 +144,11 @@

    DESCRIPTION

    In addition to the modules listed above, the GRASS vector networking suite <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD includes numerous other modules for analysis of network costs and +======= +includes numerous other modules for analysis of network costs and +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) connectivity. These include: @@ -174,10 +185,31 @@

    DESCRIPTION

    <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +======= +includes numerous other modules for analysis of network costs and +connectivity. These include: + + +v.net.allpairs, +v.net.bridge, +v.net.centrality, +v.net.components, +v.net.distance, +v.net.flow, +v.net.spanningtree, +v.net.steiner, +v.net.timetable, +v.net.visibility + + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    NOTES

    For a vector map prepared for network analysis in GRASS, nodes are diff --git a/vector/v.out.vtk/writeVTK.c b/vector/v.out.vtk/writeVTK.c index 7f2c40cd9d5..167b8d7bff9 100644 --- a/vector/v.out.vtk/writeVTK.c +++ b/vector/v.out.vtk/writeVTK.c @@ -730,6 +730,7 @@ int write_vtk_db_data(FILE *ascii, struct Map_info *Map, VTKInfo *info, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= progress++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -738,6 +739,11 @@ int write_vtk_db_data(FILE *ascii, struct Map_info *Map, VTKInfo *info, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + progress++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /*For every available vector type */ for (k = 0; k < typenum; k++) { diff --git a/vector/v.overlay/line_area.c b/vector/v.overlay/line_area.c index 02ded6ae03b..83508e08f77 100644 --- a/vector/v.overlay/line_area.c +++ b/vector/v.overlay/line_area.c @@ -58,6 +58,7 @@ static int merge_line(struct Map_info *Map, int line, struct line_pnts *MPoints, int i, first, last, next_line, curr_line; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int merged = 0; ======= @@ -68,6 +69,12 @@ static int merge_line(struct Map_info *Map, int line, struct line_pnts *MPoints, ======= int merged = 0; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int merged = 0, newl = 0; +======= + int merged = 0; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int next_node, direction, node_n_lines, type, ltype, lines_type; static struct ilist *List = NULL; static struct line_pnts *Points = NULL; diff --git a/vector/v.overlay/v.overlay.html b/vector/v.overlay/v.overlay.html index d4fd2e10401..384f0a687d1 100644 --- a/vector/v.overlay/v.overlay.html +++ b/vector/v.overlay/v.overlay.html @@ -36,6 +36,7 @@

    NOTES

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Currently only areas in ainput are supported for the operators ======= ======= @@ -45,6 +46,12 @@

    NOTES

    ======= Currently only areas in ainput are supported for the operators >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Currently only areas in ainput are supported for the operators +======= +Currently only areas in ainput are supported for the operators +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) or and xor! See also v.select. The operator defines what kind of operation will be done. Features are diff --git a/vector/v.perturb/main.c b/vector/v.perturb/main.c index 26bfc6180d8..65970e959d2 100644 --- a/vector/v.perturb/main.c +++ b/vector/v.perturb/main.c @@ -38,6 +38,7 @@ int main(int argc, char **argv) double p1, p2, numbers[1000], numbers2[1000]; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD int (*rng)(int, double *); ======= @@ -49,6 +50,12 @@ int main(int argc, char **argv) ======= int (*rng)(int, double *); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int (*rng)(); +======= + int (*rng)(int, double *); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int i; int line, nlines, ttype, n, ret, seed, field; struct field_info *Fi, *Fin; diff --git a/vector/v.proj/v.proj.html b/vector/v.proj/v.proj.html index 39620097804..77a9db1bebb 100644 --- a/vector/v.proj/v.proj.html +++ b/vector/v.proj/v.proj.html @@ -33,11 +33,15 @@

    NOTES

    v.proj supports general datum transformations, making use of the PROJ co-ordinate system translation library. +<<<<<<< HEAD <<<<<<< HEAD

    When projecting into a latlon project, east coordinates are wrapped =======

    When projecting into a latlon location, east coordinates are wrapped >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +

    When projecting into a latlon location, east coordinates are wrapped +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) by the proj4 library to fit into the range -180,180. This is in most cases appropriate, but can cause errors the input vector crosses the datum line at 180E/W. In this case wrapping of east coordinates to -180,180 needs diff --git a/vector/v.qcount/findquads.c b/vector/v.qcount/findquads.c index a06d3ffa0c7..d4dfae2e96e 100644 --- a/vector/v.qcount/findquads.c +++ b/vector/v.qcount/findquads.c @@ -57,6 +57,7 @@ COOR *find_quadrats(int n, double r, struct Cell_head window) } <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (k == (unsigned int)n * n) G_warning("Having difficulties fitting that many circles with " @@ -65,20 +66,29 @@ COOR *find_quadrats(int n, double r, struct Cell_head window) ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (k == n * n) G_warning("Having difficulties fitting that many circles with " "that radius"); if (k == 2 * n * n) <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= if (k == (unsigned int)n * n) G_warning("Having difficulties fitting that many circles with " "that radius"); if (k == (unsigned int)2 * n * n) +<<<<<<< HEAD >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_fatal_error("Maximum number of iterations exceeded\nTry " "smaller radius or smaller number of quads"); } diff --git a/vector/v.random/main.c b/vector/v.random/main.c index fe528f57016..bd15fb38258 100644 --- a/vector/v.random/main.c +++ b/vector/v.random/main.c @@ -377,6 +377,7 @@ int main(int argc, char *argv[]) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (i = 1; i <= (unsigned int)nareas; i++) { ======= @@ -388,6 +389,12 @@ int main(int argc, char *argv[]) ======= for (i = 1; i <= (unsigned int)nareas; i++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (i = 1; i <= nareas; i++) { +======= + for (i = 1; i <= (unsigned int)nareas; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (!Vect_get_area_centroid(&In, i)) continue; @@ -511,6 +518,7 @@ int main(int argc, char *argv[]) if (cat_list) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD for (i = 0; i < (unsigned int)Cats->n_cats; i++) { ======= @@ -522,6 +530,12 @@ int main(int argc, char *argv[]) ======= for (i = 0; i < (unsigned int)Cats->n_cats; i++) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + for (i = 0; i < Cats->n_cats; i++) { +======= + for (i = 0; i < (unsigned int)Cats->n_cats; i++) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) if (Cats->field[i] == field && Vect_cat_in_cat_list(Cats->cat[i], cat_list)) { cat_area = Cats->cat[i]; diff --git a/vector/v.random/v.random.html b/vector/v.random/v.random.html index 65e3b717c51..e22c9b90bee 100644 --- a/vector/v.random/v.random.html +++ b/vector/v.random/v.random.html @@ -276,6 +276,7 @@

    AUTHOR

    <darrell@mccauley-usa.com>, <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD
    when he was at: =======
    when he was at: @@ -286,5 +287,11 @@

    AUTHOR

    =======
    when he was at: >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +
    when he was at: +======= +
    when he was at: +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Agricultural Engineering Purdue University diff --git a/vector/v.rectify/v.rectify.html b/vector/v.rectify/v.rectify.html index 0fd129d3074..c3eb7603e40 100644 --- a/vector/v.rectify/v.rectify.html +++ b/vector/v.rectify/v.rectify.html @@ -41,8 +41,11 @@

    DESCRIPTION

    the current mapset. If a group is given and a target has been set for this group with i.target, <<<<<<< HEAD +<<<<<<< HEAD the rectified vector will be written to the target project and mapset. ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) the rectified vector will be written to the target location and mapset. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) diff --git a/vector/v.select/v.select.html b/vector/v.select/v.select.html index 56dd1df4cb2..57a76343620 100644 --- a/vector/v.select/v.select.html +++ b/vector/v.select/v.select.html @@ -286,6 +286,7 @@

    TODO

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= @@ -295,6 +296,12 @@

    TODO

    ======= >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + +======= + +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Processing areas with GEOS is currently incredibly slow. Significant speed-up is desired. --> diff --git a/vector/v.split/main.c b/vector/v.split/main.c index ae060610a44..f75eef5e85d 100644 --- a/vector/v.split/main.c +++ b/vector/v.split/main.c @@ -46,6 +46,7 @@ int main(int argc, char *argv[]) int vertices = 0; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD double (*line_length)(const struct line_pnts *); ======= @@ -57,6 +58,12 @@ int main(int argc, char *argv[]) ======= double (*line_length)(const struct line_pnts *); >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + double (*line_length)(); +======= + double (*line_length)(const struct line_pnts *); +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int geodesic = 0; G_gisinit(argv[0]); diff --git a/vector/v.surf.bspline/resamp.c b/vector/v.surf.bspline/resamp.c index 5bc720d14c3..b8e34bdfcc7 100644 --- a/vector/v.surf.bspline/resamp.c +++ b/vector/v.surf.bspline/resamp.c @@ -164,6 +164,7 @@ int P_Sparse_Raster_Points(SEGMENT *out_seg, struct Cell_head *Elaboration, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= points_in_box++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -172,6 +173,11 @@ int P_Sparse_Raster_Points(SEGMENT *out_seg, struct Cell_head *Elaboration, >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + points_in_box++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) G_debug(3, "P_Sparse_Raster_Points: interpolate point %d...", i); if (bilin) diff --git a/vector/v.surf.rst/main.c b/vector/v.surf.rst/main.c index e4671991066..1824484b083 100644 --- a/vector/v.surf.rst/main.c +++ b/vector/v.surf.rst/main.c @@ -910,6 +910,7 @@ static FILE *create_temp_file(const char *name, char **tmpname) for (i = 0; i < n_rows; i++) { <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (fwrite(zero_array_cell, sizeof(FCELL), n_cols, fp) != (size_t)n_cols) { @@ -923,6 +924,13 @@ static FILE *create_temp_file(const char *name, char **tmpname) if (fwrite(zero_array_cell, sizeof(FCELL), n_cols, fp) != (size_t)n_cols) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (fwrite(zero_array_cell, sizeof(FCELL), n_cols, fp) != n_cols) { +======= + if (fwrite(zero_array_cell, sizeof(FCELL), n_cols, fp) != + (size_t)n_cols) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) clean(); G_fatal_error(_("Error writing temporary file <%s>"), *tmpname); } diff --git a/vector/v.univar/main.c b/vector/v.univar/main.c index d172f96122b..edd5eec825f 100644 --- a/vector/v.univar/main.c +++ b/vector/v.univar/main.c @@ -77,6 +77,7 @@ double sum_abs = 0.0; <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD double min = NAN; double max = NAN; ======= @@ -91,6 +92,14 @@ double max = 0.0 / 0.0; double min = NAN; double max = NAN; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +double min = 0.0 / 0.0; /* init as nan */ +double max = 0.0 / 0.0; +======= +double min = NAN; +double max = NAN; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) double mean, mean_abs, pop_variance, sample_variance, pop_stdev, sample_stdev, pop_coeff_variation, kurtosis, skewness; double total_size = 0.0; /* total size: length/area */ diff --git a/vector/v.univar/v.univar.html b/vector/v.univar/v.univar.html index db16e838a18..8c31f506f23 100644 --- a/vector/v.univar/v.univar.html +++ b/vector/v.univar/v.univar.html @@ -175,6 +175,7 @@

    AUTHORS

    Hamish Bowman, University of Otago, New Zealand
    <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD Martin Landa ======= Martin Landa @@ -185,3 +186,9 @@

    AUTHORS

    ======= Martin Landa >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +Martin Landa +======= +Martin Landa +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) diff --git a/vector/v.vol.rst/oct.c b/vector/v.vol.rst/oct.c index d8e12ba3974..451e98c2fb8 100644 --- a/vector/v.vol.rst/oct.c +++ b/vector/v.vol.rst/oct.c @@ -37,6 +37,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) struct octfunc * @@ -61,6 +62,22 @@ struct octfunc *OT_functions_new(int (*compare)(), VOID_T **(*divide_data)(), >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +struct octfunc *OT_functions_new(int (*compare)(), VOID_T **(*divide_data)(), + int (*add_data)(), int (*intersect)(), + int (*division_check)(), int (*get_points)()) +======= +struct octfunc * +OT_functions_new(int (*compare)(struct quadruple *, struct octdata *), + struct octdata **(*divide_data)(struct octdata *), + int (*add_data)(struct quadruple *, struct octdata *), + int (*intersect)(double, double, double, double, double, + double, struct octdata *), + int (*division_check)(struct octdata *), + int (*get_points)(struct quadruple *, struct octdata *, double, + double, double, double, double, double, int)) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) /* Initializes FUNCTIONS structure with given arguments */ { struct octfunc *functions; @@ -80,6 +97,7 @@ struct octfunc *OT_functions_new(int (*compare)(), VOID_T **(*divide_data)(), <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD struct octtree *OT_tree_new(struct octdata *data, struct octtree **leafs, ======= struct octtree *OT_tree_new(VOID_T *data, struct octtree **leafs, @@ -90,6 +108,12 @@ struct octtree *OT_tree_new(VOID_T *data, struct octtree **leafs, ======= struct octtree *OT_tree_new(struct octdata *data, struct octtree **leafs, >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +struct octtree *OT_tree_new(VOID_T *data, struct octtree **leafs, +======= +struct octtree *OT_tree_new(struct octdata *data, struct octtree **leafs, +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) struct octtree *parent, struct octfunc *functions, int octant) /*Initializes TREE using given arguments */ diff --git a/vector/v.vol.rst/oct.h b/vector/v.vol.rst/oct.h index bfdd352467b..c900a0c3337 100644 --- a/vector/v.vol.rst/oct.h +++ b/vector/v.vol.rst/oct.h @@ -7,6 +7,7 @@ struct octfunc { <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) int (*compare)(struct quadruple *, struct octdata *); @@ -23,6 +24,8 @@ struct octfunc { struct octtree { struct octdata *data; ======= +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int (*compare)(); VOID_T **(*divide_data)(); int (*add_data)(); @@ -44,13 +47,29 @@ struct octtree { struct octtree { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) VOID_T *data; +<<<<<<< HEAD >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= +======= +======= + int (*compare)(struct quadruple *, struct octdata *); + struct octdata **(*divide_data)(struct octdata *); + int (*add_data)(struct quadruple *, struct octdata *); + int (*intersect)(double, double, double, double, double, double, + struct octdata *); + int (*division_check)(struct octdata *); + int (*get_points)(struct quadruple *, struct octdata *, double, double, + double, double, double, double, int); +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) }; struct octtree { struct octdata *data; +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) struct octtree **leafs; struct octtree *parent; struct octfunc *functions; diff --git a/vector/v.vol.rst/user1.c b/vector/v.vol.rst/user1.c index aa276ca35e2..3c2b9636f4e 100644 --- a/vector/v.vol.rst/user1.c +++ b/vector/v.vol.rst/user1.c @@ -411,6 +411,7 @@ int OUTGR(void) read_val = fread(cell, sizeof(FCELL), nsizc, Tmp_fd_cell); <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (read_val != (size_t)nsizc) { ======= @@ -422,6 +423,12 @@ int OUTGR(void) ======= if (read_val != (size_t)nsizc) { >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (read_val != nsizc) { +======= + if (read_val != (size_t)nsizc) { +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) clean(); G_fatal_error(_("Unable to read data from temp file")); } @@ -454,6 +461,7 @@ int OUTGR(void) /* Read data in from temp file */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_z); @@ -466,11 +474,19 @@ int OUTGR(void) read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_z); if (read_val < 0) { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_z); + if (read_val < 0) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_z); if (read_val != (size_t)nsizr * nsizc * nsizl) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) clean(); G_fatal_error(_("Unable to read data from temp file")); } @@ -525,6 +541,7 @@ int OUTGR(void) /* Read data in from temp file */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_dx); @@ -537,11 +554,19 @@ int OUTGR(void) read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_dx); if (read_val < 0) { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_dx); + if (read_val < 0) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_dx); if (read_val != (size_t)nsizr * nsizc * nsizl) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) clean(); G_fatal_error(_("Unable to read data from temp file")); } @@ -595,6 +620,7 @@ int OUTGR(void) /* Read data in from temp file */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_dy); @@ -607,11 +633,19 @@ int OUTGR(void) read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_dy); if (read_val < 0) { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_dy); + if (read_val < 0) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_dy); if (read_val != (size_t)nsizr * nsizc * nsizl) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) clean(); G_fatal_error(_("Unable to read data from temp file")); } @@ -665,6 +699,7 @@ int OUTGR(void) /* Read data in from temp file */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_dz); @@ -677,11 +712,19 @@ int OUTGR(void) read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_dz); if (read_val < 0) { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_dz); + if (read_val < 0) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_dz); if (read_val != (size_t)nsizr * nsizc * nsizl) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) clean(); G_fatal_error(_("Unable to read data from temp file")); } @@ -735,6 +778,7 @@ int OUTGR(void) /* Read data in from temp file */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_xx); @@ -747,11 +791,19 @@ int OUTGR(void) read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_xx); if (read_val < 0) { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_xx); + if (read_val < 0) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_xx); if (read_val != (size_t)nsizr * nsizc * nsizl) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) clean(); G_fatal_error(_("Unable to read data from temp file")); } @@ -805,6 +857,7 @@ int OUTGR(void) /* Read data in from temp file */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_yy); @@ -817,11 +870,19 @@ int OUTGR(void) read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_yy); if (read_val < 0) { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_yy); + if (read_val < 0) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_yy); if (read_val != (size_t)nsizr * nsizc * nsizl) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) clean(); G_fatal_error(_("Unable to read data from temp file")); } @@ -875,6 +936,7 @@ int OUTGR(void) /* Read data in from temp file */ <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_xy); @@ -887,11 +949,19 @@ int OUTGR(void) read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_xy); if (read_val < 0) { >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= + read_val = fread(data, sizeof(float), nsizr * nsizc * nsizl, Tmp_fd_xy); + if (read_val < 0) { +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) ======= read_val = fread(data, sizeof(float), (size_t)nsizr * nsizc * nsizl, Tmp_fd_xy); if (read_val != (size_t)nsizr * nsizc * nsizl) { +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) clean(); G_fatal_error(_("Unable to read data from temp file")); } diff --git a/vector/v.vol.rst/user3.c b/vector/v.vol.rst/user3.c index 2b8a39a3325..21cd3404e32 100644 --- a/vector/v.vol.rst/user3.c +++ b/vector/v.vol.rst/user3.c @@ -239,6 +239,7 @@ int COGRR1(double x_or, double y_or, double z_or, int n_rows, int n_cols, <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) @@ -246,6 +247,11 @@ int COGRR1(double x_or, double y_or, double z_or, int n_rows, int n_cols, >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + int POINT(); +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) int ind, ind1; static int first_time_z = 1; off_t offset, offset1, offset2; diff --git a/vector/v.vol.rst/v.vol.rst.html b/vector/v.vol.rst/v.vol.rst.html index d6ab1f43b8f..00100cd5194 100644 --- a/vector/v.vol.rst/v.vol.rst.html +++ b/vector/v.vol.rst/v.vol.rst.html @@ -61,6 +61,7 @@

    DESCRIPTION

    selected to ensure the numerical stability and efficiency of the <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD algorithm. ======= algorithm. @@ -71,6 +72,12 @@

    DESCRIPTION

    ======= algorithm. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +algorithm. +======= +algorithm. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    SQL support

    @@ -171,6 +178,7 @@

    NOTES

    The user must run g.region before the program to set the <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD 3D region for interpolation. ======= 3D region for interpolation. @@ -181,6 +189,12 @@

    NOTES

    ======= 3D region for interpolation. >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +3D region for interpolation. +======= +3D region for interpolation. +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794))

    EXAMPLES

    diff --git a/vector/v.voronoi/skeleton.c b/vector/v.voronoi/skeleton.c index a2387a58289..92d40bd561b 100644 --- a/vector/v.voronoi/skeleton.c +++ b/vector/v.voronoi/skeleton.c @@ -530,6 +530,7 @@ int tie_up(void) <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD distmin = INFINITY; ======= @@ -541,6 +542,12 @@ int tie_up(void) ======= distmin = INFINITY; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + distmin = 1. / 0.; /* +inf */ +======= + distmin = INFINITY; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) xmin = x; ymin = y; diff --git a/vector/v.voronoi/sw_main.c b/vector/v.voronoi/sw_main.c index 063b7171f8d..e46a83aed4f 100644 --- a/vector/v.voronoi/sw_main.c +++ b/vector/v.voronoi/sw_main.c @@ -75,7 +75,10 @@ struct Site *nextone(void) /* removes duplicate sites that would break the voronoi algorithm */ ======= /* removes duplicate sites that would break the voronoi alghoritm */ +<<<<<<< HEAD >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) void removeDuplicates(void) { int i, j; @@ -386,6 +389,7 @@ int readbounds(void) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nconnected = 0; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -394,6 +398,11 @@ int readbounds(void) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nconnected = 0; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) Vect_reset_list(linelist); Vect_reset_list(arealist); @@ -411,6 +420,7 @@ int readbounds(void) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= nconnected++; >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) @@ -419,6 +429,11 @@ int readbounds(void) >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + nconnected++; +======= +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) } } diff --git a/vector/vectorintro.html b/vector/vectorintro.html index 13dda3c5fae..fa5648ce79d 100644 --- a/vector/vectorintro.html +++ b/vector/vectorintro.html @@ -15,6 +15,7 @@

    Attribute management

    <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD The default database driver used by GRASS GIS 8 is SQLite. GRASS GIS ======= The default database driver used by GRASS GIS 8 is SQLite. GRASS GIS @@ -25,6 +26,9 @@

    Attribute management

    ======= The default database driver used by GRASS GIS 8 is SQLite. GRASS GIS >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= +The default database driver used by GRASS GIS 8 is SQLite. GRASS GIS +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) handles multiattribute vector data by default. The db.* set of commands provides basic SQL support for attribute management, while the v.db.* set of commands operates on vector maps. diff --git a/visualization/ximgview/main.c b/visualization/ximgview/main.c index 192b8ba7b1d..fe8db4b715a 100644 --- a/visualization/ximgview/main.c +++ b/visualization/ximgview/main.c @@ -147,6 +147,7 @@ static void main_loop(void) struct timeval tv; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD unsigned long delay = 0; ======= @@ -158,6 +159,12 @@ static void main_loop(void) ======= unsigned long delay = 0; >>>>>>> 498a331298 (Fix missing function prototypes (#2727)) +======= + unsigned long delay; +======= + unsigned long delay = 0; +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) while (XPending(dpy) > 0) { XEvent event; @@ -240,6 +247,7 @@ static int read_bmp_header(const unsigned char *p) return 0; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD if (get_4(&p) != (unsigned int)i_width * i_height * 4) ======= @@ -251,6 +259,12 @@ static int read_bmp_header(const unsigned char *p) ======= if (get_4(&p) != (unsigned int)i_width * i_height * 4) >>>>>>> 7f32ec0a8d (r.horizon manual - fix typo (#2794)) +======= + if (get_4(&p) != i_width * i_height * 4) +======= + if (get_4(&p) != (unsigned int)i_width * i_height * 4) +>>>>>>> 7409ab6716 (r.horizon manual - fix typo (#2794)) +>>>>>>> f130b43e6c (r.horizon manual - fix typo (#2794)) return 0; if (size != HEADER_SIZE + i_width * i_height * 4)