Martin Landa ad49a009a7 g.mapsets: clean up list_mapsets fns 15 년 전
..
colors af46ae1b89 +different monthly precip color table 15 년 전
FIPS.code db49180dd7 welcome to GRASS 7.0.svn 17 년 전
G.h 0b7dc05f0d Split G__ between lib/gis and lib/raster 16 년 전
Makefile af2133adf1 Move regex/glob G__ls() filters into lib/gis 15 년 전
README.TYPE db49180dd7 welcome to GRASS 7.0.svn 17 년 전
adj_cellhd.c 7088a02761 Generate fatal errors rather than returning a status, for: 15 년 전
alloc.c 7c8c38685b Optimisations: 15 년 전
area.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
area_ellipse.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
area_poly1.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
area_poly2.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
area_sphere.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
ascii_chk.c c7041e9ca3 Remove unnecessary return values 16 년 전
asprintf.c 06ad8336d1 Fix G_snprintf() to allow for bug in Windows vsnprintf() 15 년 전
basename.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
bres_line.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
clicker.c c313e28597 Bundle static variables into per-file structures 16 년 전
color_str.c 8db528aa65 color_str.c moved back to libgis (modules fixed) 16 년 전
colors.desc af46ae1b89 +different monthly precip color table 15 년 전
commas.c c7041e9ca3 Remove unnecessary return values 16 년 전
copy_dir.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
copy_file.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
counter.c aff756a341 Fix G_is_initialized() for case of concurrent initialisation attempts 16 년 전
date.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
datum.c ab082da4e0 Add "const" where appropriate to libgis return types 16 년 전
datum.table 72e1e2bf11 Add Swedish datum rt90 15 년 전
datumtransform.table 95a1a4b2df reword to avoid confusion with mathematical 'add' (merge from devbr6 https://trac.osgeo.org/grass/changeset/40880) 15 년 전
debug.c 0b7dc05f0d Split G__ between lib/gis and lib/raster 16 년 전
distance.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
done_msg.c c7041e9ca3 Remove unnecessary return values 16 년 전
element_list 631b3596e9 Move element_list to lib/gis, for earlier availability 16 년 전
ellipse.table db49180dd7 welcome to GRASS 7.0.svn 17 년 전
endian.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
env.c 88abdb3fab Eliminate G_copy(); replace with memcpy() or assignment 15 년 전
error.c ca1fcb75a4 Eliminate use of [G_]popen() 15 년 전
file_name.c 69ac420b2f gislib G__name_is_fully_qualified() renamed to 16 년 전
find_cell.c 3e65212312 libgis: debug G_find_raster/vector() 15 년 전
find_etc.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
find_file.c ba2fe339fb Always allocate returned mapset (so that it can be freed) 15 년 전
find_vect.c 3e65212312 libgis: debug G_find_raster/vector() 15 년 전
flate.c 4c00de6892 Fix signedness mismatch 15 년 전
fmode.c 1acdd0be01 Build system clean-up 16 년 전
geodesic.c c7041e9ca3 Remove unnecessary return values 16 년 전
geodist.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
get_ellipse.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 년 전
get_projinfo.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 년 전
get_window.c df4d81abd4 Move raster-specific functions from lib/gis to lib/raster: 15 년 전
getl.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
gisbase.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
gisdbase.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
gisinit.c 8568dbe3ac Revert https://trac.osgeo.org/grass/changeset/40855 (breaks g.proj, g.gisenv) 15 년 전
gislib.dox 664305e4b8 gisprompt docs updated based on Glynn's notes in ML 15 년 전
handler.c b9d454169d Add fatal error handlers 15 년 전
home.c 384d7f7b04 remove useless comment, we have to return something. probably the doxygen comments need adjustment 16 년 전
intersect.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
is.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
key_value1.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 년 전
key_value2.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 년 전
key_value3.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 년 전
key_value4.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 년 전
legal_name.c b2a54a6471 gislib: G_find_cell renamed to G_find_raster 16 년 전
line_dist.c c7041e9ca3 Remove unnecessary return values 16 년 전
list.c ca1fcb75a4 Eliminate use of [G_]popen() 15 년 전
ll_format.c ab082da4e0 Add "const" where appropriate to libgis return types 16 년 전
ll_scan.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
locale.c 474402cb81 Various MinGW bugfixes from Rosen Matev 16 년 전
location.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
ls.c c7041e9ca3 Remove unnecessary return values 16 년 전
ls_filter.c af2133adf1 Move regex/glob G__ls() filters into lib/gis 15 년 전
mach_name.c 474402cb81 Various MinGW bugfixes from Rosen Matev 16 년 전
make_loc.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 년 전
make_mapset.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
mapcase.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
mapset.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
mapset_msc.c b74ef2e464 better wording 15 년 전
mapset_nme.c 89125f06b6 rblazek: fix for QGIS crash 16 년 전
myname.c 9a6de1b163 more obvious error message (merge from devbr6) 15 년 전
named_colr.c 671e44225a Fix formatting of array initialisers 17 년 전
new_des db49180dd7 welcome to GRASS 7.0.svn 17 년 전
nl_to_spaces.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
nme_in_mps.c e09ca9b4fc libgis: G_fully_qualified_name() don't report mapset if empty string 15 년 전
open.c 69ac420b2f gislib G__name_is_fully_qualified() renamed to 16 년 전
open_misc.c 69ac420b2f gislib G__name_is_fully_qualified() renamed to 16 년 전
overwrite.c ab082da4e0 Add "const" where appropriate to libgis return types 16 년 전
pager.c 1e26c862c8 Fix pager/mail functions 15 년 전
parser.c 25c70c3586 etc/wxpython moved to ec/gui/wxpython 15 년 전
parser_help.c 8ffa3de2e2 Add --help-text option 15 년 전
parser_html.c 604a1fe33e Move header inclusions, macros into appropriate files 15 년 전
parser_interface.c ed15cdfc4d Remove remaining usage of system() and G_system() 15 년 전
parser_local_proto.h 8ffa3de2e2 Add --help-text option 15 년 전
parser_script.c 604a1fe33e Move header inclusions, macros into appropriate files 15 년 전
parser_standard_options.c ad49a009a7 g.mapsets: clean up list_mapsets fns 15 년 전
parser_wps.c 86f4afdb8d XML creation enhancements. 15 년 전
paths.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
percent.c 56b732bcc5 libgis: G_set_percent_routine() and G_unset_percent_routine() added 16 년 전
pi.h db49180dd7 welcome to GRASS 7.0.svn 17 년 전
plot.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
pole_in_poly.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
popen.c 770e798241 G_spawn_ex() expects descriptors as "int"s, not "char*". 15 년 전
progrm_nme.c 5d366eb05b major gislib.dox update (still not complete, https://trac.osgeo.org/grass/changeset/37744) 16 년 전
proj1.c cee89e72e7 libgis: better units handling 15 년 전
proj2.c cee89e72e7 libgis: better units handling 15 년 전
proj3.c cee89e72e7 libgis: better units handling 15 년 전
projections c7478c69d3 enable Geostationary Satellite View (merge from devbr6) 15 년 전
put_window.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
putenv.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
radii.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
rd_cellhd.c 7088a02761 Generate fatal errors rather than returning a status, for: 15 년 전
remove.c 69ac420b2f gislib G__name_is_fully_qualified() renamed to 16 년 전
rename.c 69ac420b2f gislib G__name_is_fully_qualified() renamed to 16 년 전
rhumbline.c c7041e9ca3 Remove unnecessary return values 16 년 전
rotate.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
seek.c 62b5a38794 gis/seek.c: doxygen strings added 15 년 전
set_window.c 88abdb3fab Eliminate G_copy(); replace with memcpy() or assignment 15 년 전
short_way.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
sleep.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
snprintf.c 06ad8336d1 Fix G_snprintf() to allow for bug in Windows vsnprintf() 15 년 전
spawn.c 0ef89abb41 Don't warn about not close()ing descriptors other than std{in,out,err} on Windows 15 년 전
state27 db49180dd7 welcome to GRASS 7.0.svn 17 년 전
state83 db49180dd7 welcome to GRASS 7.0.svn 17 년 전
strings.c e2426199ab libgis: avoid segfault on G_store(NULL) 15 년 전
tempfile.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
timestamp.c 5d366eb05b major gislib.dox update (still not complete, https://trac.osgeo.org/grass/changeset/37744) 16 년 전
token.c 619b3f6325 Eliminate G_index(), G_rindex(); replace with strchr(), strrchr() 15 년 전
trim_dec.c 8c1f95a84c Remove bogus return value from G_trim_decimal() 15 년 전
units.c d99616d7c5 m.measure: length is measured in LL locations in meters by default 15 년 전
user_config.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
verbose.c 0fb91788d7 Add, use G_is_initialized(), G_initialize_done() for one-shot initialisation 16 년 전
view.c c7041e9ca3 Remove unnecessary return values 16 년 전
whoami.c 5d366eb05b major gislib.dox update (still not complete, https://trac.osgeo.org/grass/changeset/37744) 16 년 전
win32_pipes.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
wind_2_box.c 88abdb3fab Eliminate G_copy(); replace with memcpy() or assignment 15 년 전
wind_format.c 687a3466a8 output correct precision for different projection types (bugs https://trac.osgeo.org/grass/ticket/654 and https://trac.osgeo.org/grass/ticket/335; merge from devbr6) 16 년 전
wind_in.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
wind_limits.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
wind_overlap.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 년 전
wind_scan.c bc702cc96b major gislib.dox update (still not complete) 16 년 전
window_map.c df4d81abd4 Move raster-specific functions from lib/gis to lib/raster: 15 년 전
worker.c e4164ed7e4 Add --with-pthread etc to configure script 16 년 전
wr_cellhd.c 0172a80e98 tbres is not measured in degrees (bug https://trac.osgeo.org/grass/ticket/821; merge from devbr6) 15 년 전
writ_zeros.c c7041e9ca3 Remove unnecessary return values 16 년 전
zero.c b06b8a0105 vectorlib: 16 년 전
zone.c bc702cc96b major gislib.dox update (still not complete) 16 년 전

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("To 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.