Glynn Clements 06ad8336d1 Fix G_snprintf() to allow for bug in Windows vsnprintf() 15 yıl önce
..
colors 3579328dbb flipud() 15 yıl önce
FIPS.code db49180dd7 welcome to GRASS 7.0.svn 17 yıl önce
G.h 0b7dc05f0d Split G__ between lib/gis and lib/raster 16 yıl önce
Makefile af2133adf1 Move regex/glob G__ls() filters into lib/gis 15 yıl önce
README.TYPE db49180dd7 welcome to GRASS 7.0.svn 17 yıl önce
adj_cellhd.c 7088a02761 Generate fatal errors rather than returning a status, for: 15 yıl önce
alloc.c 7c8c38685b Optimisations: 15 yıl önce
area.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
area_ellipse.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
area_poly1.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
area_poly2.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
area_sphere.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
ascii_chk.c c7041e9ca3 Remove unnecessary return values 16 yıl önce
asprintf.c 06ad8336d1 Fix G_snprintf() to allow for bug in Windows vsnprintf() 15 yıl önce
basename.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
bres_line.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
clicker.c c313e28597 Bundle static variables into per-file structures 16 yıl önce
color_str.c 8db528aa65 color_str.c moved back to libgis (modules fixed) 16 yıl önce
colors.desc c9f5a31d5d +haxby 15 yıl önce
commas.c c7041e9ca3 Remove unnecessary return values 16 yıl önce
copy_dir.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
copy_file.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
counter.c aff756a341 Fix G_is_initialized() for case of concurrent initialisation attempts 16 yıl önce
date.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
datum.c ab082da4e0 Add "const" where appropriate to libgis return types 16 yıl önce
datum.table 81089553eb update URLs 15 yıl önce
datumtransform.table e04042d394 explain why terms don't match ref URL 15 yıl önce
debug.c 0b7dc05f0d Split G__ between lib/gis and lib/raster 16 yıl önce
distance.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
done_msg.c c7041e9ca3 Remove unnecessary return values 16 yıl önce
element_list 631b3596e9 Move element_list to lib/gis, for earlier availability 16 yıl önce
ellipse.table db49180dd7 welcome to GRASS 7.0.svn 17 yıl önce
endian.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
env.c 88abdb3fab Eliminate G_copy(); replace with memcpy() or assignment 15 yıl önce
error.c ca1fcb75a4 Eliminate use of [G_]popen() 15 yıl önce
file_name.c 69ac420b2f gislib G__name_is_fully_qualified() renamed to 16 yıl önce
find_cell.c b2a54a6471 gislib: G_find_cell renamed to G_find_raster 16 yıl önce
find_etc.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
find_file.c ba2fe339fb Always allocate returned mapset (so that it can be freed) 15 yıl önce
find_vect.c 2dcd0f6942 gislib: OGR dependency removed 16 yıl önce
flate.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
fmode.c 1acdd0be01 Build system clean-up 16 yıl önce
geodesic.c c7041e9ca3 Remove unnecessary return values 16 yıl önce
geodist.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
get_ellipse.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 yıl önce
get_projinfo.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 yıl önce
get_window.c df4d81abd4 Move raster-specific functions from lib/gis to lib/raster: 15 yıl önce
getl.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
gisbase.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
gisdbase.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
gisinit.c 0b7dc05f0d Split G__ between lib/gis and lib/raster 16 yıl önce
gislib.dox 664305e4b8 gisprompt docs updated based on Glynn's notes in ML 15 yıl önce
handler.c b9d454169d Add fatal error handlers 15 yıl önce
home.c 384d7f7b04 remove useless comment, we have to return something. probably the doxygen comments need adjustment 16 yıl önce
intersect.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
is.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
key_value1.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 yıl önce
key_value2.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 yıl önce
key_value3.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 yıl önce
key_value4.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 yıl önce
legal_name.c b2a54a6471 gislib: G_find_cell renamed to G_find_raster 16 yıl önce
line_dist.c c7041e9ca3 Remove unnecessary return values 16 yıl önce
list.c ca1fcb75a4 Eliminate use of [G_]popen() 15 yıl önce
ll_format.c ab082da4e0 Add "const" where appropriate to libgis return types 16 yıl önce
ll_scan.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
locale.c 474402cb81 Various MinGW bugfixes from Rosen Matev 16 yıl önce
location.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
ls.c c7041e9ca3 Remove unnecessary return values 16 yıl önce
ls_filter.c af2133adf1 Move regex/glob G__ls() filters into lib/gis 15 yıl önce
mach_name.c 474402cb81 Various MinGW bugfixes from Rosen Matev 16 yıl önce
make_loc.c 4a29361f14 Generate fatal errors rather than returning a status, for: 15 yıl önce
make_mapset.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
mapcase.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
mapset.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
mapset_msc.c b74ef2e464 better wording 15 yıl önce
mapset_nme.c 89125f06b6 rblazek: fix for QGIS crash 16 yıl önce
myname.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
named_colr.c 671e44225a Fix formatting of array initialisers 17 yıl önce
new_des db49180dd7 welcome to GRASS 7.0.svn 17 yıl önce
nl_to_spaces.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
nme_in_mps.c e09ca9b4fc libgis: G_fully_qualified_name() don't report mapset if empty string 15 yıl önce
open.c 69ac420b2f gislib G__name_is_fully_qualified() renamed to 16 yıl önce
open_misc.c 69ac420b2f gislib G__name_is_fully_qualified() renamed to 16 yıl önce
overwrite.c ab082da4e0 Add "const" where appropriate to libgis return types 16 yıl önce
pager.c 1e26c862c8 Fix pager/mail functions 15 yıl önce
parser.c 88abdb3fab Eliminate G_copy(); replace with memcpy() or assignment 15 yıl önce
parser_help.c 619b3f6325 Eliminate G_index(), G_rindex(); replace with strchr(), strrchr() 15 yıl önce
parser_html.c 349da72497 Clean up parser refactoring 15 yıl önce
parser_interface.c ed15cdfc4d Remove remaining usage of system() and G_system() 15 yıl önce
parser_local_proto.h 349da72497 Clean up parser refactoring 15 yıl önce
parser_script.c f4db1184d4 libgis: add headers (parse_*.c) 15 yıl önce
parser_standard_options.c 601fba37b3 libgis: cosmetics in standard options 15 yıl önce
parser_wps.c ca1fcb75a4 Eliminate use of [G_]popen() 15 yıl önce
paths.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
percent.c 56b732bcc5 libgis: G_set_percent_routine() and G_unset_percent_routine() added 16 yıl önce
pi.h db49180dd7 welcome to GRASS 7.0.svn 17 yıl önce
plot.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
pole_in_poly.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
popen.c 1e26c862c8 Fix pager/mail functions 15 yıl önce
progrm_nme.c 5d366eb05b major gislib.dox update (still not complete, https://trac.osgeo.org/grass/changeset/37744) 16 yıl önce
proj1.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
proj2.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
proj3.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
projections c7478c69d3 enable Geostationary Satellite View (merge from devbr6) 15 yıl önce
put_window.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
putenv.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
radii.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
rd_cellhd.c 7088a02761 Generate fatal errors rather than returning a status, for: 15 yıl önce
remove.c 69ac420b2f gislib G__name_is_fully_qualified() renamed to 16 yıl önce
rename.c 69ac420b2f gislib G__name_is_fully_qualified() renamed to 16 yıl önce
rhumbline.c c7041e9ca3 Remove unnecessary return values 16 yıl önce
rotate.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
seek.c 16a6b956df Enable LFS globally 15 yıl önce
set_window.c 88abdb3fab Eliminate G_copy(); replace with memcpy() or assignment 15 yıl önce
short_way.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
sleep.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
snprintf.c 06ad8336d1 Fix G_snprintf() to allow for bug in Windows vsnprintf() 15 yıl önce
spawn.c aa90c6079e Ensure environment array is NULL-terminated 15 yıl önce
state27 db49180dd7 welcome to GRASS 7.0.svn 17 yıl önce
state83 db49180dd7 welcome to GRASS 7.0.svn 17 yıl önce
strings.c 0c79adbbf7 Elminate G_strdup(); replace with G_store() 15 yıl önce
tempfile.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
timestamp.c 5d366eb05b major gislib.dox update (still not complete, https://trac.osgeo.org/grass/changeset/37744) 16 yıl önce
token.c 619b3f6325 Eliminate G_index(), G_rindex(); replace with strchr(), strrchr() 15 yıl önce
trim_dec.c 8c1f95a84c Remove bogus return value from G_trim_decimal() 15 yıl önce
user_config.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
verbose.c 0fb91788d7 Add, use G_is_initialized(), G_initialize_done() for one-shot initialisation 16 yıl önce
view.c c7041e9ca3 Remove unnecessary return values 16 yıl önce
whoami.c 5d366eb05b major gislib.dox update (still not complete, https://trac.osgeo.org/grass/changeset/37744) 16 yıl önce
win32_pipes.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
wind_2_box.c 88abdb3fab Eliminate G_copy(); replace with memcpy() or assignment 15 yıl önce
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 yıl önce
wind_in.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
wind_limits.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
wind_overlap.c 8868d4b686 indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \ 17 yıl önce
wind_scan.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce
window_map.c df4d81abd4 Move raster-specific functions from lib/gis to lib/raster: 15 yıl önce
worker.c e4164ed7e4 Add --with-pthread etc to configure script 16 yıl önce
wr_cellhd.c 0172a80e98 tbres is not measured in degrees (bug https://trac.osgeo.org/grass/ticket/821; merge from devbr6) 15 yıl önce
writ_zeros.c c7041e9ca3 Remove unnecessary return values 16 yıl önce
zero.c b06b8a0105 vectorlib: 16 yıl önce
zone.c bc702cc96b major gislib.dox update (still not complete) 16 yıl önce

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.