Martin Landa cc77b8dc34 libgis: G__getenv() -> G_getenv_nofatal() 10 years ago
..
colors 030d3cbc6d libgis: add color rule precipitation_daily 10 years ago
testsuite 3d92370b9f libgis: Added tests for libgis 10 years ago
FIPS.code db49180dd7 welcome to GRASS 7.0.svn 17 years ago
G.h 0ae0be6386 Enable zlib compression by default (set GRASS_INT_ZLIB=0 to use RLE) 11 years ago
Makefile daf7f0ac28 add oldkey:newkey lookup table (https://trac.osgeo.org/grass/ticket/2049) 10 years ago
README.TYPE 0265bfd52e spelling 13 years ago
adj_cellhd.c 36233b8479 libgis: minor doxygen header updates 10 years ago
alloc.c 48b4f09d9d fix copyright initial year (from G6) 12 years ago
area.c 36233b8479 libgis: minor doxygen header updates 10 years ago
area_ellipse.c 36233b8479 libgis: minor doxygen header updates 10 years ago
area_poly1.c 36233b8479 libgis: minor doxygen header updates 10 years ago
area_poly2.c 36233b8479 libgis: minor doxygen header updates 10 years ago
area_sphere.c 36233b8479 libgis: minor doxygen header updates 10 years ago
ascii_chk.c 36233b8479 libgis: minor doxygen header updates 10 years ago
asprintf.c 36233b8479 libgis: minor doxygen header updates 10 years ago
basename.c e0242d3a6b libgis: doxygen cosmetics 10 years ago
bres_line.c 36233b8479 libgis: minor doxygen header updates 10 years ago
clicker.c c313e28597 Bundle static variables into per-file structures 16 years ago
color_rules.c 1dba9b62d4 dox: fixing several doxygen warnings (wrong file names, typos, lt gt chars) 12 years ago
color_str.c 36233b8479 libgis: minor doxygen header updates 10 years ago
colors.desc 030d3cbc6d libgis: add color rule precipitation_daily 10 years ago
commas.c 36233b8479 libgis: minor doxygen header updates 10 years ago
copy_dir.c 623c7b94ec simplify wingrass LFS 12 years ago
copy_file.c 070eaa1a92 msg typo: occured -> occurred 12 years ago
counter.c aff756a341 Fix G_is_initialized() for case of concurrent initialisation attempts 16 years ago
date.c 36233b8479 libgis: minor doxygen header updates 10 years ago
datum.c 1a84429e14 some fixes for 'error: format not a string literal and no format arguments [-Werror=format-security]' 12 years ago
datum.table 1087d8ad64 support ITRF_1992 datum 12 years ago
datumtransform.table 1087d8ad64 support ITRF_1992 datum 12 years ago
debug.c cc77b8dc34 libgis: G__getenv() -> G_getenv_nofatal() 10 years ago
distance.c b620683d20 dox: segment library (unnecessary fn and SEG/seg mess) 12 years ago
done_msg.c 36233b8479 libgis: minor doxygen header updates 10 years ago
ellipse.table db49180dd7 welcome to GRASS 7.0.svn 17 years ago
ellipse.table.solar.system 6d61c04a2f removed tainted ellipsoids 11 years ago
endian.c 36233b8479 libgis: minor doxygen header updates 10 years ago
env.c cc77b8dc34 libgis: G__getenv() -> G_getenv_nofatal() 10 years ago
error.c 61495c0a91 Add G_fatal_longjmp() 11 years ago
file_name.c 87da4ee948 libgis: dox cosmetics 12 years ago
find_etc.c 09b7db1dd9 doxygen errors fixed 12 years ago
find_file.c 36233b8479 libgis: minor doxygen header updates 10 years ago
find_rast.c 36233b8479 libgis: minor doxygen header updates 10 years ago
find_rast3d.c dc7822aafa G_find_grid3 moved from raster3d to gislib 13 years ago
find_vect.c 36233b8479 libgis: minor doxygen header updates 10 years ago
flate.c 46b8911b62 libgis: partially revert https://trac.osgeo.org/grass/changeset/61851 10 years ago
fmode.c 1acdd0be01 Build system clean-up 16 years ago
geodesic.c c7041e9ca3 Remove unnecessary return values 16 years ago
geodist.c 36233b8479 libgis: minor doxygen header updates 10 years ago
get_ellipse.c 36233b8479 libgis: minor doxygen header updates 10 years ago
get_projinfo.c 178c0b7fd0 libgis: G_get_projepsg() and G_database_epsg_code() 11 years ago
get_window.c fd2711bc51 libgis: G__get_window() renamed to G_get_element_window() 10 years ago
getl.c 36233b8479 libgis: minor doxygen header updates 10 years ago
gis_local_proto.h faacfd2eb2 libgis: add G_mapset_path() 12 years ago
gisbase.c bc702cc96b major gislib.dox update (still not complete) 16 years ago
gisdbase.c 36233b8479 libgis: minor doxygen header updates 10 years ago
gisinit.c 46b8911b62 libgis: partially revert https://trac.osgeo.org/grass/changeset/61851 10 years ago
gislib.dox d4c552ac46 gislib/dox: cmd line parsing doc updated, modernized and polished 11 years ago
gislib_cmdline_parsing.dox 214beac382 parser: use '--help' in manual pages rather than 'help' to promote use of standardized flag 10 years ago
handler.c ee734e99fb gislib: document error handlers 13 years ago
home.c b0ddd170bc doxygen header cosmetics 11 years ago
ilist.c 5120adf63f Fixed potential memory leak in integer list init, added new and free ilist functions. 11 years ago
intersect.c 31086b3b60 libgis: restore return codes for G_intersect_line_segments() 10 years ago
is.c 36233b8479 libgis: minor doxygen header updates 10 years ago
key_value1.c 745e71030a libgis: doxygen docs update (key_value_[1|2|3].c) 13 years ago
key_value2.c 745e71030a libgis: doxygen docs update (key_value_[1|2|3].c) 13 years ago
key_value3.c e841d781ac libgis: be more verbose when opening a file fails 11 years ago
key_value4.c 36233b8479 libgis: minor doxygen header updates 10 years ago
legal_name.c f5f03b13e1 G_legal_filename: Update a warning message to be more correct 10 years ago
line_dist.c c7041e9ca3 Remove unnecessary return values 16 years ago
list.c 6357502fff libgis: rename env-related G__ used in the modules to G_ 11 years ago
ll_format.c ab082da4e0 Add "const" where appropriate to libgis return types 16 years ago
ll_scan.c 46b8911b62 libgis: partially revert https://trac.osgeo.org/grass/changeset/61851 10 years ago
locale.c 36233b8479 libgis: minor doxygen header updates 10 years ago
location.c faacfd2eb2 libgis: add G_mapset_path() 12 years ago
lrand48.c 5437a8cf5f Add documentation comments 11 years ago
ls.c 36233b8479 libgis: minor doxygen header updates 10 years ago
ls_filter.c 36233b8479 libgis: minor doxygen header updates 10 years ago
mach_name.c 474402cb81 Various MinGW bugfixes from Rosen Matev 16 years ago
make_loc.c cc77b8dc34 libgis: G__getenv() -> G_getenv_nofatal() 10 years ago
make_mapset.c cc77b8dc34 libgis: G__getenv() -> G_getenv_nofatal() 10 years ago
mapcase.c 09b7db1dd9 doxygen errors fixed 12 years ago
mapset.c cc77b8dc34 libgis: G__getenv() -> G_getenv_nofatal() 10 years ago
mapset_msc.c 36233b8479 libgis: minor doxygen header updates 10 years ago
mapset_nme.c 6357502fff libgis: rename env-related G__ used in the modules to G_ 11 years ago
mkstemp.c 74fb4e5301 Add parentheses to avoid warning 11 years ago
myname.c 36233b8479 libgis: minor doxygen header updates 10 years ago
named_colr.c 671e44225a Fix formatting of array initialisers 17 years ago
new_des db49180dd7 welcome to GRASS 7.0.svn 17 years ago
nl_to_spaces.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 years ago
nme_in_mps.c a5f20635d6 G_unqualified_name: Correct the usage 10 years ago
open.c 36233b8479 libgis: minor doxygen header updates 10 years ago
open_misc.c 09c16fd0db libgis: do not open non-existing files; add warning when opening a file failed 11 years ago
overwrite.c cc77b8dc34 libgis: G__getenv() -> G_getenv_nofatal() 10 years ago
pager.c 1e26c862c8 Fix pager/mail functions 15 years ago
parser.c cc77b8dc34 libgis: G__getenv() -> G_getenv_nofatal() 10 years ago
parser_dependencies.c 35c63f0e68 libgis parser: more descriptive error messages 10 years ago
parser_help.c 3587d03cf0 libgis: document --ui flag 10 years ago
parser_html.c 2c1d781950 manual: keyword index HTML'ized 10 years ago
parser_interface.c 36233b8479 libgis: minor doxygen header updates 10 years ago
parser_local_proto.h daf7f0ac28 add oldkey:newkey lookup table (https://trac.osgeo.org/grass/ticket/2049) 10 years ago
parser_rest.c 214beac382 parser: use '--help' in manual pages rather than 'help' to promote use of standardized flag 10 years ago
parser_script.c f8aaa2e6c2 libgis: G__script(): generate valid python script 12 years ago
parser_standard_options.c 821ac0d925 change color standard options to differentiate between allowing and not allowing none as color instead of bg/fg color, apply the change in modules and in this way fix several modules with incorrect options 10 years ago
parser_wps.c 736151b08d version update: trunk is grass71 11 years ago
paths.c 623c7b94ec simplify wingrass LFS 12 years ago
percent.c 6618b33b4f libgis: add G_progress() 13 years ago
pi.h db49180dd7 welcome to GRASS 7.0.svn 17 years ago
plot.c b52f487fda libgis: fix FPE error tolerance for plotting 11 years ago
pole_in_poly.c 36233b8479 libgis: minor doxygen header updates 10 years ago
popen.c 770e798241 G_spawn_ex() expects descriptors as "int"s, not "char*". 15 years ago
progrm_nme.c 5e6ec9ef04 libgis: strip also .py extension from program name 10 years ago
proj1.c 3fc17c1072 remove unused PROJECTION_SP 10 years ago
proj2.c 3fc17c1072 remove unused PROJECTION_SP 10 years ago
proj3.c 3fc17c1072 remove unused PROJECTION_SP 10 years ago
projections c7478c69d3 enable Geostationary Satellite View (merge from devbr6) 15 years ago
put_window.c b87b0b953d libgis: G__put_window() -> G_put_element_window() 10 years ago
putenv.c 5c454c7ad2 gislib: cosmetics in doxygen documentation 14 years ago
radii.c 36233b8479 libgis: minor doxygen header updates 10 years ago
rd_cellhd.c 1dba9b62d4 dox: fixing several doxygen warnings (wrong file names, typos, lt gt chars) 12 years ago
remove.c 36233b8479 libgis: minor doxygen header updates 10 years ago
rename.c 36233b8479 libgis: minor doxygen header updates 10 years ago
renamed_options 633e7e73a8 v.vol.rst: wmultiplier to wscale (https://trac.osgeo.org/grass/ticket/2409) 10 years ago
rhumbline.c 36233b8479 libgis: minor doxygen header updates 10 years ago
rotate.c 36233b8479 libgis: minor doxygen header updates 10 years ago
seek.c 7cc2db1d68 libgis: cosmetics in doxygen desc 14 years ago
set_window.c ebfd5088d1 dox: region (window) functions doc improvements 12 years ago
short_way.c 36233b8479 libgis: minor doxygen header updates 10 years ago
sleep.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 years ago
snprintf.c 36233b8479 libgis: minor doxygen header updates 10 years ago
spawn.c 36233b8479 libgis: minor doxygen header updates 10 years ago
state27 db49180dd7 welcome to GRASS 7.0.svn 17 years ago
state83 db49180dd7 welcome to GRASS 7.0.svn 17 years ago
strings.c 9dba01d89c libgis: optimize G_chop() 10 years ago
tempfile.c 2f2f700343 gislib: add some extra debug messages 12 years ago
timestamp.c 36233b8479 libgis: minor doxygen header updates 10 years ago
token.c d91429272f libgis: fix and simplify G_tokenize() 10 years ago
trim_dec.c 36233b8479 libgis: minor doxygen header updates 10 years ago
units.c 36233b8479 libgis: minor doxygen header updates 10 years ago
user_config.c 36233b8479 libgis: minor doxygen header updates 10 years ago
verbose.c 1529d7f504 libgis: fix G_set_verbose (missing initialization) 11 years ago
view.c 36233b8479 libgis: minor doxygen header updates 10 years ago
whoami.c 36233b8479 libgis: minor doxygen header updates 10 years ago
win32_pipes.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 years ago
wind_2_box.c 36233b8479 libgis: minor doxygen header updates 10 years ago
wind_format.c 36233b8479 libgis: minor doxygen header updates 10 years ago
wind_in.c 36233b8479 libgis: minor doxygen header updates 10 years ago
wind_limits.c 36233b8479 libgis: minor doxygen header updates 10 years ago
wind_overlap.c 36233b8479 libgis: minor doxygen header updates 10 years ago
wind_scan.c 3fc17c1072 remove unused PROJECTION_SP 10 years ago
window_map.c e028cffb66 gislib: define G_unset_window() 14 years ago
worker.c 36233b8479 libgis: minor doxygen header updates 10 years ago
wr_cellhd.c 36233b8479 libgis: minor doxygen header updates 10 years ago
writ_zeros.c 36233b8479 libgis: minor doxygen header updates 10 years ago
xdr.c 36233b8479 libgis: minor doxygen header updates 10 years ago
zero.c 36233b8479 libgis: minor doxygen header updates 10 years ago
zone.c 36233b8479 libgis: minor doxygen header updates 10 years ago

README.TYPE

.\" use -ms
.LP
There were two flavors of changes made to structures in gis.h
and to calls to routines in the library:

.IP 1.
Variables in structures, parameters in argument lists to library routines,
and return values from library routines that really represented
CELL data but were declared as int have been changed to CELL.

The following structures were changed:

.DS
Categories [gis.h]
Cell_stats
Colors
Histogram
Range
Reclass
.DE

The argument type for some parameters for the following routines was changed:

.DS
G_init_cats [cats.c]
G_get_cats
G_set_cats
G_get_color [color.c]
G_set_color
G_make_random_colors [make_colr2.c]
G_make_color_wave
G_make_grey_scale
G_make_color_ramp
G_make_aspect_colors
G_add_histogram [histogram.c]
G_set_histogram
G_update_range [range.c]
.DE

The return value for the following routines was changed:

.DS
G_number_of_cats [cats.c]
G_get_histogram_cat [histogram.c]
.DE

This change does not, at present, require changes to existing code since
the CELL type is currently defined as int.

In the future, if we (or someone else) want to
redefine CELL to long (say on a 16 bit machine), the application code
will compile ok, but will not run correctly since the calling seqences
(including printf and scanf) will not match anymore.
To upgrade GRASS code for this is a big deal.
It consists of
finding all places that ints are used in assignments with
CELL variables,
modifying all the calls to the above routines,
and modifying all calls to other routines that don't know about the CELL
type (in particular printf, scanf, and Vask code).

The way to handle printf for CELL data is to use %ld and cast the
CELL value to long:
.DS
CELL x
printf ("%ld", (long) x);
.DE
The way to handle scanf for CELL data is to use %ld into a long
and assign to the CELL varaible:
.DS
CELL x;
long t;

scanf ("%ld", &t);
x = (CELL) t;
.DE
For Vask calls, assign the CELL value to a long, call Vask will the long,
then assign the long to the CELL variable:
.DS
CELL x;
long t;

t = x;
V_clear();
V_ques (&t, 'l', ...);
V_call();
x = t;
.DE

The long vs int issue for CELL also presents a subtle, but
potentially fatal, problem with malloc(n) which requires n to be int.

Suppose we want to allocate an array for reclass, from
cats min to max. What we do now is

.DS
char *table;
CELL min,max;
int len;

len = max - min + 1;
table = malloc (len);
.DE
This will fail if CELL is long and the expression max-min+1 yields
a value which overflows an int. Therefore, we should do
.DS
long len;

len = max - min + 1;
if (len != (int)len)
error("Too many categories");
table = malloc ((int)len);
.DE
.IP 2.
Variables in structures, parameters in argument lists to library routines,
and return values from library routines that should have been long
but were declared as int have been changed to long.

The following structures were changed:

.DS
Cell_stats [gis.h]
Histogram
.DE

The argument type for some parameters for the following routines was changed:

.DS
G_add_histogram [histogram.c]
G_set_histogram
G_find_cell_stat [cell_stats.c]
G_next_cell_stat
.DE

The return value for the following routines was changed:

.DS
G_get_histogram_count [histogram.c]
.DE


These changes required immediate upgrade.
I think this update is done, but I want to review it again.